c语言用哪个函数能输入整数和字符

题目要求先输入若干个整数,然后输入加减乘除的符号之一,再输入等号结束。我在输入的时候遇到了麻烦。。。。应该怎么输入?

用scanf("%d",&a);就可以将整数输入a中,将d改成c的时候就可以将字符输入到a中了追问

那怎么区分整数和字符呢?在输入的时候。我刚学,不大懂……

追答

你需要定义的时候就定义好,比如说,你这道题就需要先定义一个整数的数组int a[];以此来存放整数,定义字符char c;那么就表明c是字符型的。输入就可以了
要区分的除了定义时候之外,scanf("%d",&a[]);中的%d表示的是加整数,scanf("%c",&c);中的%c表示字符。

温馨提示:答案为网友推荐,仅供参考
第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 -本回答被网友采纳
第3个回答  2013-04-13
int 是输入整数 ,char 输入字符追问

若干个整数,我怎么区分?

追答

int a,b,c; 用a,b,c 表示三个整型数。