200分悬赏,看你是不是c/c++高手。

[复制链接]
查看11 | 回复3 | 2012-7-25 14:18:05 | 显示全部楼层 |阅读模式
1、本题的输出结果是33,而不是44。'\41'是8进制数,转换为10进制应该是8×4 + 1 = 33 2、a='\084'; 和 c = 'ah' 是错误的,无法通过编译。'\ddd'为8进制数,8进制数中,不可能出现8c是char型变量,只能存储一个字符,所以c = 'ah'是非法的。除此而外,cout<void main(){ char a; a="\41"; printf("%d\n",a);}解释这个程序为什么输出44。 这个我的编译器无法通过。估计是我用cpp的缘故吧。我换成了.c文件还真的可以了,不过会有个警告。但结果却是28,无语了。a='\084';//这里的8已经...
回复

使用道具 举报

千问 | 2012-7-25 14:18:05 | 显示全部楼层
1题你写错了,那个不是双引号,是单引号的8进制转义字符,结果是332题全是8进制和16进制的转义字符,你查一查书学习学习这方面的知识.另外一个特别的就是c = 'ah'代表 c是存储'h'的ascii码值...
回复

使用道具 举报

千问 | 2012-7-25 14:18:05 | 显示全部楼层
菜鸟学习中,很期待一个500分的答案.......
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行