const常量可不可以被修改

一,在c++编译器中:

使用.cpp文件编译

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    
    
	const int x = 10;
	int *p = (int*)&x;
	*p = 20;

	printf("x=%d\n", x);
	system("pause");
	return 0;
}

打印结果为:x=10

二,在c语言编译器中:

使用.c文件编译

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    
    
	const int x = 10;
	int *p = (int*)&x;
	*p = 20;

	printf("x=%d\n", x);
	system("pause");
	return 0;
}

打印结果为:x=20

总结:

1,使用 C++编译器,不能修改 const 常量
2,使用 C 语言编译器,可以修改 const 常量

猜你喜欢

转载自blog.csdn.net/weixin_46060711/article/details/128106952