第七题:下面程序输出什么?为什么?
2013-02-20 22:18
351 查看
如题:
此题第一个是编译错误,const修饰的变量是只读变量,而不是我们翻译的常量
也就是说SIZE还是变量,只是编译器在编译时从语法的层面不要它作为左值,但是这改变不了它变量的本质
大家想想数组定义时一定不能用变量做下标吧
把SIZE定义成宏可以改掉这个编译错误
剩下的就是输出了
大家的焦点在,数组中么有一个是字符
我想说的是,ascii码确实只有0--127, 但是不代表char只能表示ascii码,
对于操过char范围的值,我们的编译器会采用截断处理,
最后的256正好被截断成0, 所以输出2
int main() { const int SIZE = 10; char a[SIZE] = {1000, -1000, 256}; printf("%d\n", strlen(a)); return 0; }
此题第一个是编译错误,const修饰的变量是只读变量,而不是我们翻译的常量
也就是说SIZE还是变量,只是编译器在编译时从语法的层面不要它作为左值,但是这改变不了它变量的本质
大家想想数组定义时一定不能用变量做下标吧
把SIZE定义成宏可以改掉这个编译错误
剩下的就是输出了
大家的焦点在,数组中么有一个是字符
我想说的是,ascii码确实只有0--127, 但是不代表char只能表示ascii码,
对于操过char范围的值,我们的编译器会采用截断处理,
最后的256正好被截断成0, 所以输出2
相关文章推荐
- 下面程序输出什么?为什么?
- 下面程序输出是什么
- 第十六周项目3:查看下面程序的输出结果,并解释为什么
- [360] 看看下面的程序输出什么?
- [360] 看看下面的程序输出什么?
- C++第六周任务一【任务1】下面的程序存在编译错误。有两种方法可以修改,请给出这两种修改方案,在报告中说明你倾向于用哪一种?为什么?处理此类问题的原则是什么?
- 请问,在下面这个函数中m_pMainWnd = &dlg;的作用是什么?为什么我把这句话注释起来之后程序依然是正确的啊?
- 下面程序的输出是什么? x=y==z;
- 请各位帮忙看一下,第一个程序为什么不能输出和第二个程序一样的结果?这两个程序只有求最大公约束的代码不同
- 编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性。
- 编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是 100 的程序,并输出所有的可能性
- 下面程序为什么没有一直陷入main的while(1)循环?(多线程在作怪)
- Java中的多态调用问题,下面代码输出是什么?
- 就是在设计界面可以看到的最下面的那个说明 因为我需要在程序中告诉用户这个字段是干什么的
- Java中的多态调用问题,下面代码输出是什么?
- 一个数如果恰好等于不包含它本身所有因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子
- 下列程序输出什么
- 为什么写程序? 生活又是为了什么?
- 面试题 以下程序的输出结果是什么
- 趋势科技2016校招:下面程序一共会在屏幕上输出多少个“-” ?