今年的CSP-J的测试,有这样一题:(大概是)阅读程序,省略了一些无关代码。
char table[255];
...
table[0]=0xff;
...
cout<<(int)table[0];
关于编译环境中,char到底是signed还是unsigned是不确定的,因此可能输出255也可能是-1。
然而试卷有这样一题:
(判断题)输出的第一行为-1。
洛谷上也看到这样的回复
因此求助两个问题:
(1)关于不同环境char的范围。
(2)关于这道题的答案到底如何决定,由于题目争议,让两者都判对?
取决于吧编译器,如果拿捏不准,其实可以加一个前缀,C语言:signed unsigned
关键在于题目没有给定是signed还是unsigned
某本书上看到的:
我在我家里几个环境都测试了一下,都是-1。