C语言程序设计(翁恺)--第二周课件中的两个遗留点

看完课件,发现其中有几个点是老师上课没点破的,或者是留到讨论区的,自己想了想答案,总结一下这些问题

 

第二周:计算

1.关于const的描述中提到:“如果试图对常量做修改,把它放在赋值运算符的左边,就会被编译器发现,指出为一个错误(C99!)”,那么编译器会如何报错呢?

在Dev C++中输入如下简单的代码,进行编译

#include "stdio.h"

int main()

{

    const int a=0;

    a=10;

    printf("a=%d",a);

    return 0;

}

可以发现如下问题:

image

提示“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;

}

可以发现如下问题:

image

提示“5    5 [Error] expected expression before '=' token

意思是编译器认为“=”前面缺少了符号

当将第五行改成

a +=1;

此时编译就通过了

你可能感兴趣的:(程序设计)