这道简单编程题里,为啥5050就是出不来呢?

图片说明

4个回答

最后一行打印的是sum的地址

Joyce1995
Joyce1995 回复versoon: 所以sum加了&后,输出的其实是5050的十六进制吗?
4 年多之前 回复
versoon
versoon 回复versoon:不要使用goto,这是一个很危险的语句,一般while,do while 都可以替代goto
4 年多之前 回复
versoon
versoon 回复Joyce1995: &sum是取sum的地址,地址是16进制的,上面被你强制转换成了int输出。还有建议不要使用
4 年多之前 回复
u014359108
课本小明 回复Joyce1995: 这里&表示指针
4 年多之前 回复
Joyce1995
Joyce1995 回复xyz347:好形象的比喻,瞬间懂了,谢谢啦!
4 年多之前 回复
xyz347
xyz347 地址和值的关系。你可以把内存看做很多格子,地址是格子的编号,值是格子放的东西。
4 年多之前 回复
Joyce1995
Joyce1995 对啦!为啥&sum就会影响答案呢(⊙_⊙)?
4 年多之前 回复

最后的一行那个&去掉,那输出是地址

那个&是取地址符,是在scanf()语句中扫描用户输入内容用的,关于printf()语句加上了会输出地址,而不是内容了

Joyce1995
Joyce1995 学习到了,O(∩_∩)O谢谢!
4 年多之前 回复

你可以把100改为一个比较小的数,然后单步调试看一下。

Joyce1995
Joyce1995 感谢回答!是&的问题。
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问