关于c语言v6.0的问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 02:14:27
程序如下
#include<stdio.h>

int max(int a,int b);

int main()
{
int a,b;
printf("请输入两个整数a,b,它们之间以逗号隔开:\n");
scanf("%d%d",&a,&b);
printf("较大数为:%d\n",max(a,b));
return 0;
}

//求最大数,并返回
int max(int a,int b)
{
a=(a>b)?a:b;
return a;
}
用v6.0运行时 总是出错,最大值输出的是4211640,而当把
“scanf("%d,%d",&a,&b);"改成“scanf("%d%d",&a,&b);"再输入就没问题了,这是为什么呢?
第一种我在运行输入的时候输入进去的是“15,3”而后一种则是输入的“15 3”为什么第一种我试了很多遍都不行

是这样 ,你的 scanf("%d%d",&a,&b) 函数中"%d,%d"的句型格式就是你输入数据时的格式,如果你直接%d%d" 那么系入数据时系统自动以空格区分两个数据,如果换成"%d,%d" 那么系统对应按照 逗号区分两个数据,所以如果你写成
scanf("%d,%d",&a,&b)这样时。可以用空格分开数据,就不会出错了。

scanf("%d,%d",&a,&b);
输入时为 a , b
也就是说中间的逗号也要输进去
scanf("%d%d",&a,&b);
输入时为a b
当然也要注意输入法了。不要把英文标点输成中文的