鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: awen162

[技术交流] 谁说const变量不能改变吗?我就改变给你看

[复制链接]
发表于 2017-5-31 12:20:52 | 显示全部楼层
moria 发表于 2013-9-17 03:47
scanf("%d", &MAX );  &MAX 是作为一个指针 仅代表内存地址; 执行这句的时候,是对对应内存地址里的值进行 ...

没可能两个常量用一个地址   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-8 17:01:06 | 显示全部楼层
#include <stdio.h>

int main()
{
      const int MAX = 10;
      int *p=&MAX;
      *p=5;
      printf("%d",MAX);   
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2017-6-26 20:41:38 | 显示全部楼层
楼主太年轻
QQ图片20170626202822.jpg
const限定的变量 不是你想改就能改得了的
也许你以为你修改了内存
但程序可以不去管内存保持了什么数据的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-27 07:58:02 From FishC Mobile | 显示全部楼层
仰望天上的光 发表于 2014-7-16 22:20
LZ已经找到正确答案了,各位测试人员应该先看看LZ最后的结论。
测试人员中,凡是以.c作为源文件的(C语言 ...

然而这个所谓正确答案还是错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-27 08:00:28 From FishC Mobile | 显示全部楼层
samlulu 发表于 2014-7-16 19:45
c++ primer原文大概意思是这样.

指向常量的指针,仅仅要求不能通过改变该指针的值改变对象的值,而没规定 ...

这个说的是 const修饰指针的情况
这里是非const修饰的指针指向一个const修饰的变量

情况不一样了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-27 08:01:56 From FishC Mobile | 显示全部楼层
ugghfhggh 发表于 2013-9-17 23:27
谁说不能改变的,拖出去打死!const在C语言里修饰的是只读变量。只是通知编译器在编译时发现有改变只读变量 ...

痴心妄想
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 20:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表