C语言 简单语句

来源:百度知道 编辑:UC知道 时间:2024/05/10 18:06:36
以下程序错了吗? 如果我输入2和5,结果为多少?为什么?
main()
{
int a,b,s;
scanf("%d,%d",a,b);
s=++a+b++;
printf("%d",s);

getch();
}
哦,哪儿是错了,但是运行结果也不对呀?

我输入2,5结果应该为8呀?可是我运行后为26541 为什么呀 在线等,谢谢

一楼一开始就是对的, 结果为8没错,是我错了,我运行的时候输入了"2空格5回车" (应该输入"2,5回车") 导致了错误,结果为26541,但是我不知道这个结果是怎么来的? 有人知道吗?

scanf("%d,%d",a,b);
改成
scanf("%d,%d",&a,&b);
后面的&a &b是指的a b的地址...
如果没想错的话,结果应该是8

scanf("%d,%d",a,b);
改成
scanf("%d,%d",&a,&b);
后面没有getch()
什么的
那没什么用吧。。。。
运行完结果是9
加法是顺序运算,++a为3,然后加5等于8,8再有一个++ 就成了9了
是很简单的哦
我就是学计算机语言的,有什么不明白的,问我,我QQ是
370074668
好好学习!

结果是8

scanf("%d,%d",a,b); a.b前面要有&,要不程序回出错,getchar是字符,和数子没关系,去掉

int a,b,s;
scanf("%d,%d",&a,&b);
s=++a+b++;
printf("%d",s);

记得要加&
把下面那个getchar去掉
答案就是8了

scanf("%d,%d",a,b); 的问题楼上说了。我说下为什么会是26541吧。

当你按上面的代码输入2空格5回车时,这导致输入格式与要求的格式不对,这种情况下不会给a,b赋值。此时s的值也是任意的。