中易网

我想在Onlinejudge做些c语言的题,但不知道先在如何登录,求指点

答案:1  悬赏:30  
解决时间 2021-01-11 22:18
  • 提问者网友:佞臣
  • 2021-01-11 03:35
我想在Onlinejudge做些c语言的题,但不知道先在如何登录,求指点
最佳答案
  • 二级知识专家网友:由着我着迷
  • 2021-01-11 04:44
把scanf()里的\n去掉,另外你在窗口中输入的应该是汉字的“,”而不是英语的“,”。
按你原来的程序,你输入“1,2”,a被成功赋值1,当读到逗号时,由于输入的是汉字的逗号,所以逗号被当作字符,赋值失败,b是初始值0,所以c=1+0,结果是1。而如果输入是正确的“1,2”,你的程序会因为scanf()里的\n出现新的逻辑错误,遇到“\n”scanf()会抛弃(对一个或多个空白符scanf函数会选择抛弃),并希望得到一个非空白的数字或字符,然后程序才能继续执行下去。如下图:

去掉\n后:

附(修改后的代码,去掉\n,在exe正确输入“1,2”即可):

#include
int a,b,c;
int main()
{
scanf("%d,%d",&a,&b);
c=a+b;
printf("c=%d\n",c);
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息