第1个回答 2013-04-13
scanf("%d", &x); 这样调用其实是有返回值的,返回1代表成功读取了1个数据。如果输入的是符号则不会返回1,此时再调用scanf("%c", &y);来把字符读出来即可。
所以顺序是scanf("%d → 判断返回值 → (返回1 → 作为数字处理 / 返回不是1 → scanf("%c → 处理符号)
第2个回答 2013-04-13
输入若干个整数, 然后输入加减乘除的符号之一:
#include <stdio.h>
main()
{
int i,n=0;
int x[50];
char s[20],op;
while(1){
scanf("%s",s);
if (s[0]>='0' && s[0]<='9'){sscanf(s,"%d",&x[n]);n++;}
else {op=s[0];break;}
}
for(i=0;i<n;i++) printf("%d ",x[i]);
printf("\nop is %c\n",op);
return 0;
}
例如:
输入 1 2 3 8 5 3 456 -
输出 1 2 3 8 5 3 456 (存数组 x[] 里,总个数 存 n, 运算符号 在 op 里)
op is -本回答被网友采纳