注册 登录
编程论坛 C语言论坛

初学c语言 求指教

几个一 发布于 2020-10-17 09:08, 1940 次点击
#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);}


最后验证时输出  5,8  但得到5    求指教

#include <stdio.h>
int main()
{
    int a,b,c,max;
printf("please input a,b,c:\n");
scanf("%d,%d,%d",&a,&b,&c);
max=a;
if(max<b)
  max=b;
if(max<c)
  max=c;
printf("the largest number is %d\n",max);
return 0;
}
与上一道题一样 输出三个数  数值大小换了好几次 最后结果总是第一个数被输出
8 回复
#2
幻紫灵心2020-10-17 12:03
输入的逗号要用英文的逗号
#3
风过无痕19892020-10-17 12:37
回复 楼主 几个一
scanf()函数中,在语句中除了控制字符外,最好不要加入其他任何字符,连空格都不要加,容易出错

scanf("%d%c%u",&num,&ch,&p);  // 三个控制符分别输入数字、字符、地址

在输入时,它们三个用空格隔开即可
#4
几个一2020-10-17 22:58
感谢三楼大佬   也谢谢二楼帮忙
#5
风过无痕19892020-10-18 00:42
回复 4楼 几个一
我试过了,除了我上面所说的问题外,你的程序没有问题,我在DEV上运行正常的

程序代码:

#if(1)    // if(表达式)表达式的值为1后面的程序执行,若为0则不执行
#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);
}
#endif   // if表达式结束

#if(0)
#include <stdio.h>
int main()
{
    int a,b,c,max;
    printf("please input a,b,c:\n");
    scanf("%d%d,%d",&a,&b,&c);
    max = a;
    if(max < b)
    max = b;
    if(max < c)
    max = c;
    printf("the largest number is %d\n",max);
    return 0;
}
#endif
#6
几个一2020-10-18 06:28
嗯  谢谢
#7
风过无痕19892020-10-18 09:17
回复 6楼 几个一
记得结帖哟,这个论坛,有结帖率记录的。我刚开始因为不懂,第一个帖子没有结,现在的结帖率只有80%,看来我得没事找事,多发几个求助帖,来提高这个结帖率啦

这个结帖率的作用或许像我们生活中的征信吧,结帖率低了,以后别人看到,或许就不愿意回复你的帖子了
#8
几个一2020-10-18 12:05
嗯   
#9
几个一2020-10-27 11:28
回复 2楼 幻紫灵心
谢谢提示 当时没理解  现在知道了
1