lin折腾 发表于 2020-9-17 18:53:27

同样的代码在不同的编译器 得到不同的结果 问题出在哪里

在vs2010 和 dev c++ 输入以下代码 然后 都是输入 3,6vs得到的结果是6,devc++得到的结果是3,求大佬解答一下是为什么
}#include<stdio.h>
int main()
{
int max(int x,int y);

int a,b,c;
scanf("%d, %d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)z=x;

else z=y;
return(z);
}

孟婆汤 发表于 2020-9-17 19:36:51

这不是谭浩强的那本书的第一章的例题吗,你在devc++里面看下b的值,估计是一堆乱码,应该是scanf遇到空格就停止输入的锅。。。

巴巴鲁 发表于 2020-9-17 20:30:03

注意scanf("%d, %d",&a,&b);逗号后面的空格输了吗?
我dev输出是正确的

baige 发表于 2020-9-17 23:47:28

dev运行输入逗号时先把中文输入法切换为英文输入

lin折腾 发表于 2020-9-18 09:21:35

baige 发表于 2020-9-17 23:47
dev运行输入逗号时先把中文输入法切换为英文输入

还真是 我这初学者 没有搞好中英文
页: [1]
查看完整版本: 同样的代码在不同的编译器 得到不同的结果 问题出在哪里