| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 918 人关注过本帖
标题:这个程序居然可以运行,请问why?
只看楼主 加入收藏
chihuyu
Rank: 2
等 级:论坛游民
帖 子:70
专家分:13
注 册:2011-12-26
结帖率:100%
收藏
已结贴  问题点数:4 回复次数:11 
这个程序居然可以运行,请问why?
#include"stdio.h"
#include"math.h"
void main()
{
    int score;
    char grade;
    printf("Please input a score: ");
    scanf("%d",&score);
    grade=score>100?printf("输入错误"):(score>=90?'A':(score>=60?'B':(score>=0?'C':printf("输入错误"))));
    printf("%c\n",grade);
}

难道printf函数可以夹在表达式里面一起用吗?

还有     printf("%c\n",grade); 改成    printf("%s\n",grade); 也能运行,但是会出错,why?
搜索更多相关主题的帖子: 居然 void include 表达式 
2012-02-01 22:29
thedayone
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-2-1
收藏
得分:1 
printf()返回值是int,grade是char型,你打印用%s,不知道访问了后面的哪里东西了,当然出错了!
2012-02-01 22:34
爱德华
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:183
专家分:536
注 册:2011-5-29
收藏
得分:1 
不就是多层嵌套关系表达式嘛,多做做题就ok啦,最后输出中的格式符要与前面定义的一致!

算法,数据结构,windows核心编程.
2012-02-02 13:12
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:1 
第一个问题:当然可以啦,?:是三目运算符,按照情况执行两种语句。不过有点问题,假如输入错误的话,也会把grade输出,但是是无意义的

酱油实习生
2012-02-02 13:20
小惚
Rank: 2
等 级:论坛游民
帖 子:14
专家分:29
注 册:2012-2-1
收藏
得分:1 
还有     printf("%c\n",grade); 改成    printf("%s\n",grade); 也能运行,但是会出错,why?
grade是char类型的,只能储存一个字符。但是%s说明符却是字符串,一个字符串的输出是'a',但储存却是'a','\0'。
把两个字符储存在grade里,当然会出错。
不知道对不对。
2012-02-02 18:18
chihuyu
Rank: 2
等 级:论坛游民
帖 子:70
专家分:13
注 册:2011-12-26
收藏
得分:0 
我的意思是:printf("输入错误")输出的是字符串,为什么可以赋值给grade,grade一开始定义为char?
2012-02-02 19:02
linxiaobo
Rank: 2
等 级:论坛游民
帖 子:20
专家分:20
注 册:2012-1-7
收藏
得分:1 
printf()是在屏幕上输出字符串,但是对于调用它的地方是返回一个int值,
语句1?语句2:语句3
是判断句式,所以要么返回    ABCD要么返回一个int值,而int值和char是可以互通的通过ascll来互换
2012-02-02 20:43
chihuyu
Rank: 2
等 级:论坛游民
帖 子:70
专家分:13
注 册:2011-12-26
收藏
得分:0 
不懂
2012-02-03 11:00
飞莲
Rank: 2
等 级:论坛游民
帖 子:42
专家分:64
注 册:2011-12-28
收藏
得分:1 
printf的返回值
2012-02-03 11:15
hengde_li
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:131
专家分:178
注 册:2010-1-15
收藏
得分:1 
使用函数,要知道函数的返回值!!!
2012-02-03 13:47
快速回复:这个程序居然可以运行,请问why?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022965 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved