9、const使用时的注意点,指出下面程序中哪句话出现错误
#include <stdio.h>
int main()
{
const int x = 1;
int b = 10;
int c = 20;
const int* m = &b;
int* const n = &b;
const int* const s = &b;
x = 2; //不可变
m = &c;
*m = 1;//值不可变
n = &c;//地址不可变
*n = 1;
s = &c; //
*s = 1; //都出错
return 0;
}
对于C语言中的const有一句秘诀记住它的特性:进水楼台先得月。意为最靠近const的变量的值是不能变的,一旦发生改变就会出现错误
。
错误:
第13行中,x的值不能发生改变,出错。
第15行的做法是可以的,没有错误,但是16行中取它的值来改变就是错的,即m是可变的*m不可变。
第19行的做法可以,没错,但是18行的做法就是错的,即n是不可变的,但是*n可变。
第21和22行都是错的,*s和s都是不可变的。
const "金钟罩"的用法
最新推荐文章于 2020-08-14 02:12:47 发布