求解C一个关于scanf拿不拿到值得问题
#include <stdio.h>
int main()
{
int sum = 0, num = 0;
char end = 0;
while ( end != 'q' )
{
scanf( "%d", &num ) ;
sum += num;
scanf( "%c", &end ) ;
num=0;
}
printf( "%d \n", sum );
return 0;
}
/*
先输入1,num拿到1,然后累加,sum拿到1,之后我输个9,按理应该是end拿到字符9,但是结果为10,它把9加上去了,貌似跳过了scanf,不解,求解惑。