QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 906|回复: 10

C语言

[复制链接]
发表于 2003-5-18 13:48:36 | 显示全部楼层 |阅读模式
main()
{
int a,b,c,d,max;
scanf("%d%d%d\n",&a,&b,&c);
max=c>d?c:a>b?a:b;
//输入三个数求最大值//
printf("the max number is %d",max);
}
无论输入哪三个数
执行后结果都是1548?

#include<stdio.h>
main()
{char c;
printf("input a letter:\n");
scanf("%c",&c);
if(c>'a'&&c<'z');
   c=c-32;
printf("%c\n",c);
}

输入小写可以正确输出大写,可输入大写就有问题了,应该还是大写嘛,可是输出的不是。
发表于 2003-5-18 14:19:32 | 显示全部楼层
1、d没有初值
2、if后边多了一个“;”
该条件语句无效
回复

使用道具 举报

发表于 2003-5-18 14:23:16 | 显示全部楼层
第一个:
scanf("%d%d%d\n", &a, &b, &c);  /* scanf里不要\n,改成scanf("%d%d%d", &a, &b, &c); */
max=c>d?c:a>b?a:b;  /* d没有初始化,值不定 */

第二个:
if(c>'a'&&c<'z');  /* 多了一个; */
回复

使用道具 举报

发表于 2003-5-18 14:24:09 | 显示全部楼层
哦,已经有人答过了。
回复

使用道具 举报

 楼主| 发表于 2003-5-18 16:20:41 | 显示全部楼层
谢谢各位。
不过d在这里不用初值吧,在max=c>d?c:a>b?a:b;里应该已经给它值了,
还有我曾试过:d=a>b?a:b;
                     max=d>c?d:c;
这样也不对,为什么?
回复

使用道具 举报

 楼主| 发表于 2003-5-18 16:25:36 | 显示全部楼层
scanf里不要\n

为什么啊?以前没听说。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2003-5-18 16:27:43 | 显示全部楼层
scanf里不要\n

为什么啊?以前没听说。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2003-5-18 19:52:28 | 显示全部楼层
[quote:2ed34ab1ae="goldedge"]谢谢各位。
不过d在这里不用初值吧,在max=c>d?c:a>b?a:b;里应该已经给它值了,
还有我曾试过:d=a>b?a:b;
                     max=d>c?d:c;
这样也不对,为什么?[/quote]

c > d // ... 这里没有赋值啊?
回复

使用道具 举报

发表于 2003-5-19 08:04:35 | 显示全部楼层
[code:1]
#include <stdio.h>

int
main(void)
{
        int a, b, c, m;
       
        printf("Enter three numbers: ");
        scanf("%d%d%d", &a, &b, &c);

        m = a > b ? a : b;
        m = m > c ? m : c;

        printf("The max number is %d\n", m);

        exit(0);
}[/code:1]
回复

使用道具 举报

发表于 2003-5-19 10:51:56 | 显示全部楼层
第二个的错误很明显了
第一的程序由于d没有初始化 通常会有一个可以忽略的warning
但是实际上d中会有随机数 在比较大小的时候还是可以通过的
我在bc下测试程序没有问题 值正常
手头没有linux环境 如果你是在linux下debug一下就知道运算中各变量负值情况了
回复

使用道具 举报

 楼主| 发表于 2003-5-21 13:36:44 | 显示全部楼层
d=a>b?a:b;
max=d>c?d:c;

这样我觉得应该对啊,不过也有问题。
谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-15 20:42 , Processed in 0.074629 second(s), 17 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表