#include <stdio.h>
#define PAUSE printf("Press Enter key to continue - By WangLei ..."); fgetc(stdin);
int main() {
const int n = 10;
// &n得到的指针的类型是const int *,必须强制转换为int *后才能赋给 p,否则类型是不兼容的。
// int *p = (int*)&n; //必须强制类型转换
int *p = &n; //必须强制类型转换
*p = 99; //修改const变量的值
printf("%d\n", n);
PAUSE;
return 0;
}

解决办法就是 - 强制类型转换,把
int *p = &n;
改成
int *p = (int*)&n;
本文深入探讨了C语言中强制类型转换的应用场景,特别是在处理const变量和指针类型不匹配时的解决方案。通过实例代码,详细解释了如何正确进行类型转换以避免编译错误,并确保程序的正常运行。
1274

被折叠的 条评论
为什么被折叠?



