2014-10-29 2 views
-6
#include <stdio.h> 
int main() 
{ 
    int a,i,b,c,d,e;   
    array[5]["b","c","d","e"]; // defining input characters as int 


    for(i=1;i<=a;i++) 
    { 
     for(j=0;j<=a;j++) 
     { 
      printf("Input number %d ",i); 
      scanf("%d",&array[j]); // every loop it goes diffrent valuable 
     } 
    } 

    printf("Your numbers %d"b,c,d,e,); 
    return 0; 
} 

귀하의 의견에 약간의 변경이있었습니다. 숫자를 각각 다른 변수에 지정하고 싶습니다. 나는이 생각scanf를 이렇게 실행할 수 있습니까?

+2

프로그램에 정의되지 않은 동작이 있습니다. – Mahesh

+1

배열을 사용할 수있는 이유는 무엇입니까? –

+2

이것은 변수가 작동하는 방식이 아닙니다. * 배열 *을 찾으십시오. –

답변

1

당신이 뭘 하려는지입니다 :

int main() { 

    int numList[5]; 
    int i; 
    for(i = 0; i < 5; i++) { 
     printf("Input number %d ",i); 
     scanf("%d",&a[i]); 
    } 
    printf("Your numbers: "); 
    for(i = 0; i < 5; i++) { 
     printf("%d, ",a[i]); 
    } 
    printf("\n"); 
} 

나는 인쇄에 사용하는 방법은 빠르고 임의이지만, 당신은 또한 사용할 수 있습니다

printf("Your numbers are: %d,%d,%d,%d,%d.\n",a[0],a[1],a[2],a[3],a[4]); 

같은 결과가 나타납니다.

printf 함수의 경우 : 1 % d는 따옴표 다음에 나열된 정수 1 개, 2는 2 개 등을 의미합니다.

확실히 배열을 읽으면 너무 많은 시간을 절약 할 수 있습니다. (내가는 =, I = 1 난 ++)

또한 대한

두 번째 명령은 유의

은 무의미한 I에 값을 할당한다. 또한 Filipe Gonçalves가 지적한대로 초기화되지 않아서 실패하지 않는 한 for 루프 내용이 항상 실행됩니다.

+1

2 개의 약간의 기술적 인 실수가 없었다면 나는 대답을 upvote 할 것이다. 먼저, scanf ("% d", &a[i]);')를 원한다. (for scanf()에 대한 두번째 인수에서의 주소 사용법에 주목하라.) 둘째, for (i = 1; i = a; i ++)' 'a'는 결코 초기화되지 않았기 때문에 그냥 UB 일 뿐이므로 정확하기 위해서는 루프가 항상 실행될 것이라고 말할 수 없습니다 - UB 일 뿐이며 어떤 일이 발생할 수 있습니다 –

+0

수정 해 주셔서 감사합니다. – afic

0
#include <stdio.h> 

int main(){ 
    int **x; 
    int i, a, b, c, d, e; 
    int *vars[] = {&b, &c, &d, &e, &a}; 
    x = vars; 
    for(x = vars; *x != &a; x++){ 
     scanf("%d", *x); 
    } 
    printf("%d, %d, %d, %d\n", b, c, d, e); 
    return 0; 
} 
+0

솔루션에 감사드립니다. 나는 평판을 줄 수 없다. :) –

관련 문제