ввод строки в виде массива символов в c

#c #arrays

#c #массивы

Вопрос:

У меня много поисков, но я не нашел своего ответа
Я хочу написать программу, которая выдаст массив из 3 элементов, а затем я хочу распечатать массив из 3 элементов :

 char array[3] ;  
for(int i=0;i<3;i  ){ 
 cin>>array[i] ;} 
 

Но дело в том, что я не хочу указывать элементы массива в символах, и я хочу это в строке ;
но другой момент в том, что я не хочу использовать #include <string.h>
что я должен делать?
Я хочу предоставить входной массив от пользователя в такой форме:

 char array[3]={"input1","input2","input3"} 
for(int i=0;i<3;i  ){
  cin>>array[i] ; 
 }
 cout<<array[0]<<" "<<array[1]<<" "<<array[2] ; 
  //output = input1   input2   input3 
 

Комментарии:

1. Что вы хотите использовать в качестве входных данных — символ или строку?

2. я хочу объявить массив символов, НО со строковыми элементами @Tushar

Ответ №1:

 char array[3][10];
for (int i = 0; i < 3; i  ) {
    cin >> array[i];
    cout << array[i] << endl;
}
 

Где 2-й размер массива зависит от длины входной строки.

Ответ №2:

массив символов [n] будет хранить только n символов; используйте массив символов [n][m] . Помните, что строка c (char[]) отличается от string . В вашем случае вам понадобится `массив символов [3] [длина]’, где длина — это максимальное пространство для «резервирования» для каждого слова.

 char array[3][32];              //you wont need to fill this with data right away

for (int i = 0; i < 3; i  )
{
    std::cin >> array[i];
}

std::cout << " " << array[0] << " " << array[1] << " " << array[2];
 

Комментарии:

1. Похоже, это не ответ. Пожалуйста, рассмотрите возможность перехода к комментариям.

Ответ №3:

Надеюсь, это решит проблему!

 #include <iostream>

using namespace std;

int main()
{
  char arr[3][100]; // Declaring the two dimensional character array 3 denotes number of inputs whereas 100 dentoes the length.
   for(int i=0;i<3;i  ){
           cin>>arr[i];
   }
  for(int j=0;j<3;j  ){
       cout<<arr[i]<<" ";
  }
    return 0;
}