| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 624 人关注过本帖
标题:一个奇怪的程序,大家看看。
只看楼主 加入收藏
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
结帖率:99.34%
收藏
已结贴  问题点数:20 回复次数:8 
一个奇怪的程序,大家看看。
程序代码:
#include <stdio.h>

int main(void)
{
    char ch; int k;

    ch = 'a'; k = 12;
    printf("%c, %d", ch, ch, k);
    printf("%k = %d\n", k);

    return 0;
}

谁知道这个程序的结果 why?
搜索更多相关主题的帖子: color 
2012-03-23 19:29
鹰派程序员
Rank: 2
等 级:论坛游民
帖 子:36
专家分:85
注 册:2012-2-3
收藏
得分:3 
输出为:a,97和%k=%d
第一个输出语句,%c代表输出字符,对应着第一个ch,所以是a;%d代表输出的是整形int,对应着ch,而ch是字符变量a,需要将其转换为整形,字符转换为整形就是它的ASC码,a的ASC码是97,所以是97.至于第三个k,由于没有对应的输出符,所以屏蔽掉。
第二个输出语句程序把里面的当成字符串输出了。
2012-03-23 19:48
c_cup
Rank: 2
等 级:论坛游民
帖 子:20
专家分:71
注 册:2012-3-21
收藏
得分:3 
第二句: k = 12

偷偷运行了一遍  不懂为什么没有 "%" 了

成功就像怀孕,大家都来恭喜你,但是没人知道你被操了多少次.
2012-03-23 20:35
moonnight
Rank: 5Rank: 5
等 级:职业侠客
帖 子:158
专家分:380
注 册:2012-3-17
收藏
得分:3 
串里面输出%要写两个,printf("%%");这样输出一个%
2012-03-23 20:49
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 3楼 c_cup
偷偷摸摸不算好汉

梅尚程荀
马谭杨奚







                                                       
2012-03-23 21:23
不哭5死神
Rank: 2
等 级:论坛游民
帖 子:42
专家分:74
注 册:2011-4-11
收藏
得分:3 
win-tc结果附上
图片附件: 游客没有浏览图片的权限,请 登录注册
2012-03-23 23:05
星辰雁
Rank: 4
等 级:业余侠客
威 望:1
帖 子:93
专家分:275
注 册:2011-9-10
收藏
得分:3 
我也运行了一遍,结果为:a,97k=12
我是这样想的,printf函数中有几个输出格式,对应后面要输出的数,多余的就不算。
也就是由前面的几个输出格式决定。
而第二个:一个%在输出时是不显示的,要显示得有两个

不要认为CPU运算速度快就 把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做 ,因为CPU是为用户服务的,不是为我们程序员服务的!
2012-03-23 23:18
c_cup
Rank: 2
等 级:论坛游民
帖 子:20
专家分:71
注 册:2012-3-21
收藏
得分:0 
回复 5楼 有容就大
果断学习了,基础还是很重要啊

成功就像怀孕,大家都来恭喜你,但是没人知道你被操了多少次.
2012-03-24 15:04
google天下
Rank: 2
等 级:论坛游民
帖 子:18
专家分:38
注 册:2012-3-14
收藏
得分:3 
printf("%k = %d\n", k); 关于第二个输出还真是没明白。求解。。。
2012-03-24 16:49
快速回复:一个奇怪的程序,大家看看。
数据加载中...
 
   



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

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