| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1771 人关注过本帖
标题:这个题你第一眼的结果是什么?别运行,代码很短
只看楼主 加入收藏
hua529613138
Rank: 1
等 级:新手上路
帖 子:9
专家分:6
注 册:2010-8-27
收藏
得分:0 
vc 应该是22 b先执行print后自加 1和3的ASII码差2
2010-09-04 21:56
cacker
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-09-04 22:34
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
哎呀,又见识了++--的可怕(可恨)。

变参函数的参数压栈方式,好像必须是从右到左。

函数读取时从左到右。

80x86


[ 本帖最后由 cosdos 于 2010-9-4 23:34 编辑 ]

—>〉Sun〈<—
2010-09-04 23:28
Windy0Winll
Rank: 2
来 自:走了
等 级:等待验证会员
帖 子:71
专家分:90
注 册:2010-8-26
收藏
得分:0 
以下是引用遮天云在2010-9-4 21:30:40的发言:

#inlucde
void main()
{
    char a='1',b='2';
    printf("%c",b++);
    printf("%d\n",b-a);
}代码就这么长!请问你看完后认为会是什么输出结果?我做错了,如果你答对了,麻烦给个具体解释哈
include好像打错了吧?

还有    printf("%c",b++); printf("%d\n",b-a);
这两句一点歧义都没有,只要是符合标准C的话,不管是什么编译器答案应该都是一样的吧!
printf("%c",b++);在效果上完全等同于printf("%c",b),b++;调用这个函数的时候并没有对b有2次或以上的副作用,所以我是这样认为的,不管是如何进栈的,得到的答案都应该是22。
收到的鲜花
  • succubus2010-09-05 12:55 送鲜花  5朵   附言:很好,基本功如何一眼就看出来了,赞一下。

悄悄地来。。。 然后悄悄地走。。。。。。
2010-09-05 00:14
a120400764
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2010-9-3
收藏
得分:0 
2.2,b后加加,先用后加,所以打印出来就是字符2,此时b的值已经为字符3了,字符3-字符1等于51-49(3和1对应的ASCII码),结果等于2,再以整形的方式把ASCII码里面的2输出来
2010-09-05 11:51
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:0 
以下是引用cacker在2010-9-4 22:34:31的发言:

这种题 一点点点意义都没有  就跟问你地址是几个字节一样   不同的操作系统 不同的编译器不一样


反正老师一直告诉我们  不要把自己的小命交给编译器   这种有奇异性的东西通通用括号包含起来
保留取值的变量就不要用++ ,--之类的了
2010-09-06 00:14
Rogue830
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2010-9-6
收藏
得分:0 
我认为,答案和具体实现有关。
我以前学TC的时候,很多书里都建议把上面的代码写成:
#inlucde<stdio.h>
void main()
{
    char a='1',b='2';
    printf("%c",b);
    b++;
    printf("%d\n",b-a);
}
因为,楼主的代码在不同的编译软件下,得到的结果可能是不同的。


[ 本帖最后由 Rogue830 于 2010-9-6 09:57 编辑 ]
2010-09-06 09:55
Rogue830
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2010-9-6
收藏
得分:0 
其实很多的C语言初级教材里都有这种似是而非的题,为了代码的代换性,应当舍弃类似的“技巧”而宁愿多写两行代码。
2010-09-06 10:01
很想好好学习
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-9-7
收藏
得分:0 
就看明白include写错了……14楼的解释很详细,学习了,谢谢!

认真看,仔细想,动手写
2010-09-07 21:17
xg1058
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-9-16
收藏
得分:0 
2 2
2010-09-16 14:06
快速回复:这个题你第一眼的结果是什么?别运行,代码很短
数据加载中...
 
   



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

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