2012-05-16 4 views
1

사용자 입력을 읽고 사용자에게 대답을 인쇄하는 방법을 알아야합니다. 문자 배열을 사용하여이 작업을 수행하는 방법에 대해 에 어떻게 가야합니까? stdio에서 문자열을 인쇄하고 읽는 방법

이 내가이 괜찮

int array[500]; 
char array2[200]; 
printf("Please Enter The number of names: "); 
scanf("%d",&num); 

for(i=0;i<num;i++){ 
    array[i]=0; 
    array2[i]=""; 
} 
printf("\nPlease Enter names:"); 
for(i=0;i<num;i++){ 
    scanf("names: %s",array2[i]); 
} 
for(i=0;i<num;i++){ 
    printf("\n %s",array2[i]); 
} 
+0

그것은 무엇 num'가 선언되지 않았다'이후 컴파일되지 않을 것이라는 사실 이외의, 그것은 잘못 ? –

+1

'char'의 배열이'char *'배열이 아니라면 문제가 될 것입니다. – twain249

+1

@RafeKettler 잘 컴파일됩니다. int는 C에서 암시 적으로 C++ 컴파일러로 내 잔디에서 내립니다. –

답변

0

함께 일하고 코드 :

#include <stdio.h> 

#define MAX_PEOPLE 128 

static inline clear() 
{ 
    while (getchar() != '\n'); 
} 

int main() 
{ 
    int num, i; 
    int array[500]; 
    char array2[MAX_PEOPLE][200]; 
    printf("Please Enter The number of names: "); 

    while (1) 
    { 
     if (scanf("%d",&num) != 1 || num > MAX_PEOPLE) 
     { 
      clear(); 
      printf("Again: "); 
      continue; 
     } 

     break; 
    } 

    for(i = 0; i < num; i++) 
    { 
     array[i] = 0; 
     array2[i][0] = '\0'; 
    } 

    printf("\n"); 
    for(i = 0; i < num; i++) 
    { 
     printf("Please Enter names: "); 
     scanf("%s",array2[i]); 
    } 

    printf("\n"); 
    for(i = 0; i < num; i++) 
    { 
     printf("arr[%d] = %s\n", i, array2[i]); 
    } 

    return 0; 
} 
관련 문제