C语言程序设计(翁恺)--第二周课件中的两个遗留点
看完课件,发现其中有几个点是老师上课没点破的,或者是留到讨论区的,自己想了想答案,总结一下这些问题
第二周:计算
1.关于const的描述中提到:“如果试图对常量做修改,把它放在赋值运算符的左边,就会被编译器发现,指出为一个错误(C99!)”,那么编译器会如何报错呢?
在Dev C++中输入如下简单的代码,进行编译
#include "stdio.h" int main() { const int a=0; a=10; printf("a=%d",a); return 0; }
可以发现如下问题:
提示“5 2 [Error] assignment of read-only variable 'a'”
2.课件中讲到符合赋值中两个运算符中间不要有空格,那么有空格的话会出现什么问题?
在Dev C++中输入如下代码,进行编译
#include "stdio.h" int main() { int a=0; a+ =1; printf("%d",a); return 0; }
可以发现如下问题:
提示“5 5 [Error] expected expression before '=' token”
意思是编译器认为“=”前面缺少了符号
当将第五行改成
a +=1;
此时编译就通过了