printf("%d",a);
会被直接用立即数代替进行编译,即变成
printf("%d",3);
这是我的编译器的结果,并且是在非调试模式下
by 雨中飞燕 C/C++学习讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge)论坛:[/url] http://yzfy.org/bbs/
Blog: http://yzfy.org/blog/blog.php?uid=2
[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=181314]C++编写的Windows界面游戏[/url]
----------------解决方案--------------------------------------------------------
回复:(雨中飞燕)[quote]但事实上,a的值是可能改变的...
我在Red Hat Linux 9.0的版本上试了一下.
完全可以.
----------------解决方案--------------------------------------------------------
我在DEV_C++和VC 6.0中运行的结果都是3
----------------解决方案--------------------------------------------------------
我在TC2.0下运行可以.
----------------解决方案--------------------------------------------------------
楼上在12楼发的图片表明了什么?
我并没有看到你的程序的运行结果,你只说明可以编译成功而已
by 雨中飞燕 C/C++学习讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge)论坛:[/url] http://yzfy.org/bbs/
Blog: http://yzfy.org/blog/blog.php?uid=2
[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=181314]C++编写的Windows界面游戏[/url]
----------------解决方案--------------------------------------------------------
此贴作废
[此贴子已经被作者于2007-11-19 11:51:36编辑过]
----------------解决方案--------------------------------------------------------
const 的实质只是对被修饰的对象不能改变,但是任何间接引用改对象都会被改变。飞燕举的例子就能说明~
从这个性质还可以引申到new和delete的动态分配,即是指针被释放,但是那块堆内存还是可以被指针取用的,为了防止这种取用,释放后还应将指针赋值为NULL~
----------------解决方案--------------------------------------------------------
cosdos原来的帖子说的那么好干嘛删了???
by 雨中飞燕 C/C++学习讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge)论坛:[/url] http://yzfy.org/bbs/
Blog: http://yzfy.org/blog/blog.php?uid=2
[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=181314]C++编写的Windows界面游戏[/url]
----------------解决方案--------------------------------------------------------
回复:(雨中飞燕)楼上在12楼发的图片表明了什么?我...
这个图片能不能说明问题?...----------------解决方案--------------------------------------------------------
对 const 的处理只能说是编译器作的还不够。
const 声明的变量应当放在 常量数据段。
如 "字符串"
char * p = "abd";
char * pc = p;
pc[0] = 'x'; // 这个完全是不可行的,可以通过编译,
// 运行程序后,操作系统会结束该程序,
// 并且可能弹出窗口 “是否发送错误消息”。
所以我的帖子都作废了。
[此贴子已经被作者于2007-11-19 15:15:38编辑过]
----------------解决方案--------------------------------------------------------