머가 잘못 되엇을까요 c 입문

kareisma의 이미지

#include<stdio.h>
void main(void){
int a,b;
a=0;
printf("숫자를 적어주세요 합을구합니다:\n");
scanf("%d",&b);
while(b!=0){
printf("현재입력하신값:%d 현재까지합:%d\n",b,a+=b);
scanf("%d",&b);

}

}

정태영의 이미지

scanf("%d",... 에서... scanf(" %d",... 식으로 앞에 스페이스를 한 칸 넣어보세요 :)

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

랜덤여신의 이미지

...혹시
void main() 대신 int main(void) 로 쓰고
main() 함수 하단에 return 0; 을 써주지 않으셔서
컴파일 오류가 발생한 것 아닌가요? -o-?

정태영 wrote:
scanf("%d",... 에서... scanf(" %d",... 식으로 앞에 스페이스를 한 칸 넣어보세요 :)

%d 의 경우엔 숫자가 나올 때까지 계속 찾으니까 그냥 붙여써도 될듯;
whitelazy의 이미지

어떤 문제가 발생하는지 알수있을까요 ㅡ.ㅡ?
일단 되긴 되는듯 합니다만....

Quote:
whitelazy@ROBOT5:~$ gcc test.c
test.c: In function `main':
test.c:2: warning: return type of `main' is not `int'

Quote:
whitelazy@ROBOT5:~$ ./a.out
숫자를 적어주세요 합을구합니다:
1
현재입력하신값:1 현재까지합:1
2
현재입력하신값:2 현재까지합:3
3
현재입력하신값:3 현재까지합:6
4
현재입력하신값:4 현재까지합:10
5
현재입력하신값:5 현재까지합:15
6
현재입력하신값:6 현재까지합:21
7
현재입력하신값:7 현재까지합:28
8
현재입력하신값:8 현재까지합:36
0
whitelazy@ROBOT5:~$

혹 숫자 외의 다른 문자를 넣어서 발생하는 문제라면 일일히 처리해주셔야합니다 ㅋㅋㅋ 심심해서 a를 넣어봤더니 폭주하는군요 무한루프로 마구 돌아갑니다 ( '')