社区
C语言
帖子详情
来看看这段程序的输出是什么
angi_2004
2005-04-11 09:59:47
#include <stdio.h>
int main()
{
const int b = 1;
int *p = (int*)&b;
*p = 2;
printf("%d--%d", *(&b), b);
return 0;
}
...全文
158
17
打赏
收藏
来看看这段程序的输出是什么
#include int main() { const int b = 1; int *p = (int*)&b; *p = 2; printf("%d--%d", *(&b), b); return 0; }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
angi_2004
2005-04-12
打赏
举报
回复
无意中发现的,用bcc32编译运行出来结果2--1,这种情况还第一次见...
ljq14
2005-04-11
打赏
举报
回复
VC6
1--1
根据编译器实现的吧
说不好~~~~
wingjimmy
2005-04-11
打赏
举报
回复
同样道理还有C++
private
等等关键字
但是不提倡这种写法
wingjimmy
2005-04-11
打赏
举报
回复
应该是2--2
直接修改b变量的值,编译器会报错
但是通过指针修改存放b变量的值是可以的
husl
2005-04-11
打赏
举报
回复
考试啊,考试就爱考这些畸形东西
不过要是理解了可能也有一定好处
kobefly
2005-04-11
打赏
举报
回复
上边可能说的不太全,有点问题
因为刚刚在vc上测试了一下,
结果是1--1
printf("%d--%d", *(&b), b);
这句
我看了一下汇编代码,他直接push了2个1
也就是说,他把代码优化了
*(&b)等价于b,所以也用1代替了
如果你要看b地址存储的值
printf("%d--%d", *p, b);
反正p == &b
pcboyxhy
2005-04-11
打赏
举报
回复
考试就是这么垃圾的
我才是四星瓢虫
2005-04-11
打赏
举报
回复
vc2--2
MagicCarmack
2005-04-11
打赏
举报
回复
依赖于编译器的实现
像Kobe学习
sTigerwsk
2005-04-11
打赏
举报
回复
这就是依赖于编译器的代码
不提倡
kobefly
2005-04-11
打赏
举报
回复
#include <stdio.h>
int main()
{
const int b = 1;
int *p = (int*)&b;
*p = 2;
printf("%d--%d", *(&b), b);
return 0;
}
楼主,你这样的程序是要做些什么呢?
测试编译器
对于常量
有的编译器采用常量折叠,也就是说在编译期用常量1代替了b,而你虽然偷偷的改了b存储地方的内容,但那已经属于运行期的事情了
所以
采用了这种技术的编译器输出2,1
如果没有替换,从地址提取就是2,2
所以。。。。。。。。。。。。。。
angi_2004
2005-04-11
打赏
举报
回复
bcc32, 编译出来运行结果 2--1
diaosan
2005-04-11
打赏
举报
回复
2--2 turboC 3.0 下正解 为什么泥?
diaosan
2005-04-11
打赏
举报
回复
1--1 偶是菜鸟,嘿嘿
viyar
2005-04-11
打赏
举报
回复
2--2
QQ503503
2005-04-11
打赏
举报
回复
我用的也是VC,但是结果是2--2
skyofdreams
2005-04-11
打赏
举报
回复
支持一下Kobefly ,很面熟了。
我是标准的忠实拥护者,我们有时是要写一些依赖实现定义的部分。
不过过分了并不好。
核心Java程序设计技术
在这个准备过程中,即使作为拥有大量程序设计经验的我来说,我也发现了我对一些细节认识的模糊,有的甚至从来没有接触过。事实上,这些细节对于我们提高程序质量是大有裨益的。作为基础程序设计技术的经典之作,本书...
python获得用户输入的一段文字将这段文字进行垂直
输出
_Python练习题2020
习题2#获得用户输入的一个整数N,计算并
输出
N的32次方a=eval(input("请输入一个整数:"))v = a**3print("N的32次方为{}".format(v))#获得用户输入的一段文字,将这段文字进行垂直
输出
a = input("请输入一段文字:")i...
python输入
输出
代码
在上面这段代码中,我们使用了 for循环来
输出
数据,需要注意的是:如果我们不用 for循环来
输出
数据,那么程序可能会出现“数据溢出”问题。输入代码,顾名思义,就是将输入的数据输入到程序中,这是 python中最基本...
c语言 2,有一函数: y= 写一程序,输入x,
输出
y值.,有一函数 ,编写一
段程序
,输入x的值,
输出
相应的y值....
一道c语言的作业,有以下一个函数,编写一个程序,输入x的值,
输出
y的值.printf("请输入一个整数%d:",x);printf("最大值为:%d\n",x);printf("最小值为:%d",z);我不明白,根据你的题意,应该用多分支的if语句的格式,即...
java程序一直运行_程序如何一直保持运行的?
问题的起因是这样的,先看下面这段代码public static void main(String[] args) {System.out.println(1);}运行这段代码的时候,程序开始运行--->控制台
输出
1--->程序结束,这段代码在运行完成之后就自动停止了...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章