一道简单的C语言题目,但希望能给详细点的答案

题目是1、输入并编辑下面的程序main(){inta,b;floatc,d;longe,f;unsignedintu,v;charc1,c2;scanf(“%d,%d”,... 题目是
1、输入并编辑下面的程序
main()
{
int a,b;
float c,d;
long e,f;
unsigned int u,v;
char c1,c2;
scanf(“%d,%d”,a,b);
scanf(“%f,%f”,c,d);
scanf(“%ld,%ld”,e,f);
scanf(“%o,%o”,u,v);
scanf(“%c,%c”,c1,c2);
printf(“\n”);
printf(“a=%7d,b=%7d\n”,&a,&b);
printf(“c=%10.2f,d=%10.2f\n”,&c,&d);
printf(“e=17ld,f=%17ld\n”,&e,&f);
printf(“u=%o,d=%o\n”,&u,&v);
printf(“c1=%c,d=%c\n”,&c1,&c2);
}
这个程序有语法错误吗?为什么?
2、调试上述程序无语法错误后,用下面的测试数据,对程序进行测试:
a=123,b=456,c=17.6,d=71837.65,e=70000,f=2174506,u=62000,v=58765,c1=’a’,c2=’b’
分析运行结果。特别注意输入c1,c2的值是什么?什么原因?
3、将输入e和f的语句改为:
scanf(“%d,%d”,&e,&f);
再用上述测试数据测试并分析结果。

老师提示说输入数据有问题,要修改,请问应该怎么输入,还有我看不懂题目是什么意思,能不能帮忙翻译下。。非常感谢
展开
 我来答
kv55555
2009-03-17 · TA获得超过109个赞
知道小有建树答主
回答量:65
采纳率:0%
帮助的人:100万
展开全部
scanf(“格式”,地址),对于变量要加上地址运算符&才能得地址。
printf("格式",变量)不用地址运算符&。

这里改过后还是没法得到c1,c2值,因为还有多个scanf同时运用 会产生键盘缓冲区所以,多次使用时,scanf得到的可能是上次键盘输入缓冲区中的东西。
所以,为保证正确,多次使用scanf时,应该在每次scanf之前加上一句: fflush(stdin); 即可。
还有就是不要用八进输入会很容易出错 还是把%o改成%u输入吧 输出时再用%o
这样就不会出错了
还有 unsigned int一般写为unsigned 。
还有多看书,对照下例题就不犯乱那么基本的错了 如函数scanf printf的用法都用错
wenhuan301
2009-03-18 · 超过27用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:0
展开全部
你的scanf("%d%d",a,d)
你的数字输入要加地址符&
如scanf("%d%d",&a,&d)
如果你不加的话 也不会报错 但有时候赋值的时候就会赋值错误 就会导致你的输出错误的信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
86271737
2009-03-18 · TA获得超过763个赞
知道小有建树答主
回答量:788
采纳率:0%
帮助的人:459万
展开全部
错误1... scanf是输入函数 ,你上面的输入函数都没有加地址表识符,
正确输入应该是这样的,如scanf("%d",&a);,你上面的输入函数中的a没有加&符号,&符号是取地址的意思,就是说输入一个数,把他放在a的地址里,书写格式就是&a
错误2... printf是输出函数,输出函数是要求写函数的名字,而不是函数的地址,你写的是函数地址了,正确的应该这样写,如printf("%d",a);他的意思是把a变量的值,按整数输出,我刚才在电脑上实验了一下,按照你的写法printf("%d",&a)的确也能输出结果,但是输出的结果不是我们想要的值,他输出了一个数,我估计是内存地址...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
changfapiaosa
2009-03-17 · TA获得超过214个赞
知道小有建树答主
回答量:284
采纳率:0%
帮助的人:168万
展开全部
scanf要用&a的格式。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-03-17
展开全部
printf("")打印格式错误!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式