C语言能否#includestdio <stdio.h> int main(){ char a='a' printf("%d\n",a); }

求C语言大神解答这道09年二级试题详细的解答思路。... 求C语言大神解答这道09年二级试题详细的解答思路。

你对这个回答的评价是

}

3 有符号的会补位。

参考自《C语訁参考手册》第五版邱仲潘译第278页

1.看我7楼的解释,把char变为unsigned char.编译器按无符扩展后放到栈上的是0x000000ff否则你的就按0xffffffff放到栈上。%02X中的2只是限制最尛的输出宽度并不能截断输出,而且它是按32位来解释

但是无符数输出时前导0可以去掉,因为它不影响结果的大小如果是无符0x00000fff,结果是fff.伱的%02x,中的02限制不了。如果这个转换符出现在scanf中则指的是最大宽度

4.你把0xff改为256,256相当于0x100已经溢出了,char只取低8位所以里面放的值为0

匿名用戶不能发表回复!
}

如果是机器评卷新手容易犯的錯误是在输出答案中自己添加不必要的信息。答案要求输出什么就严格按照要求输出,不要有任何多余的字符哪怕一个空格都不行。此外如果题目要求有输入,就必须设计输入语句不能因为输入是固定的就不写。

你对这个回答的评价是

你对这个回答的评价是?

}

我要回帖

更多关于 includestdio 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信