tc程序怎么出不来结果啊

来源:百度知道 编辑:UC知道 时间:2024/07/02 05:36:31
int max(int x,int y)
{
int m;
if(x>y) m=x;
else m=y;
return(m);
}
void main()
{
int a,b,c;
printf("input two numbers:");
scanf("%d,%d",a,b);
c=max(a,b);
printf("\n max=%d",c);
}
我输入5 6,可是运行结果是max=3129,其实这之前也有其他程序出现3129这个结果,所以我找个简单的试了下,没想到还是如此,是不是我的tc没调试好啊,但是我的options里的derectories的路径也没错啊,不知道什么原因,郁闷啊,那为高手帮下我啊,谢谢
我写在百度上忘了写&啊,其实程序上面加了&,麻烦大家再帮下忙,谢谢。
其实我是有结果的啊,只是结果不对啊,而且好多程序得到都是这个结果,我还是认为我的tc没有调试好,而且我在教材上录入一个程序,结果说什么浮点型数据什么不存在什么的,搞笔清楚啊,我的tc是在别人电脑上复制的。

scanf("%d,%d",&a,&b);

哈哈,这个问题可是你的不对哦,你学C的时候老师肯定强调过在读入数据到变量的时候一定要加地址符“&”吗?这个可是很基础,但是很重要的问题哦。别小看这个“&”,没它你程序放到哪里运行都错。不过这回影响应该比较深了,下次肯定不会犯这错了吧。想我以前也是这样过来的。嘿嘿 ,不知道被训了好几次呢!
你可以做这样一个试验:
【1】
void main()
{
int a,;
scanf("%d",a);
printf("%d",a);
}
【2】
void main()
{
int a,;
scanf("%d",&a);
printf("%d",a);
}
看看【1】和【2】结果有什么不同?
根据你的补充做了一点小小的修改:
现在我输入5,6,结果就是max=6
int max(int x,int y)
{
int m;
if(x>y) m=x;
else m=y;
return(m);
}
void main()
{
int a,b,c;
printf("input two numbers:");
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("\n max=%d",c);
getch();【这点很重要,要看结果得加这句】
}
为什么要加getch()请看我的回答:
http://zhidao.baidu