运行后,结果怎么是这样的
main(){ int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
}
int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return(z);
}
比如我输入a=12 b=23,结果c=3129
其他的输入也是结果c=3129,这是怎么一回事。
----------------解决方案--------------------------------------------------------
程序代码:
void main()
{
int a=0,b=0,c=0; //初始化
scanf(\"%d,%d\",&a,&b);
c=max(a,b);
printf(\"max=%d\",c);
}
----------------解决方案--------------------------------------------------------
#include<stdio.h>
int max(int,int);
main()
{ int a,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return z;
}
----------------解决方案--------------------------------------------------------
我去试试,先谢谢了
----------------解决方案--------------------------------------------------------
运行后,出现问题,比如 输入a=123 b=1223
结果却是 123
[此贴子已经被作者于2007-6-28 12:10:57编辑过]
----------------解决方案--------------------------------------------------------
初不初始化在这都没必要,因为在传递之前已经用scanf给于其赋值,数值大的话就会出现比较错误.-->建议你去看看数据类型那章先,了解给类型能保存的最大数字,自己去选用合适的类型。
----------------解决方案--------------------------------------------------------
整形是有范围的 超过了当然出错
可以用长整型,如果还要更大的话楼主干脆用字符数组吧
----------------解决方案--------------------------------------------------------
运行没错..可能是你输入数据时格式错了
输入: 123,543 //注意。。。。。
输出: 543
int main()
{ int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
}
int max(int x,int y)
{
if(x>y) return x;
else return y;
}
----------------解决方案--------------------------------------------------------
输入格式应该跟你的scanf是一样的
输入123,321试试
----------------解决方案--------------------------------------------------------
搂住的代码没有问题,如果你输入的没有错,应该是你编译器的问题
你的程序要多用printf,来调试,如果程序不对,也要知道是那个一句话不对
----------------解决方案--------------------------------------------------------