新手求助。

qq_33612829 2017-03-11 10:38:33
我跟着书上输入了一段代码:
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a, b,t;
scanf_s("%d,%d", &a, &b);
if (a > b) {
t = a;
a = b;
b = t;
}
printf("a=%d,b=%d\n", &a, &b);
return;
}

运行的时候我输入了5和3,出来的结果发现每次都不一样。这是为什么?每次出来的数值都很大,都是几百万的。
我用的是vs 2015 community版的。书上用的是2008版的。
...全文
62 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_33612829 2017-03-11
  • 打赏
  • 举报
回复
谢谢各位解答。刚学一个多星期,还是很粗心。以后会重点注意这问题。
Linkin_ygw 2017-03-11
  • 打赏
  • 举报
回复
&是取地址,&a,输出的是a这个变量在内存中存放的地址
qq_33612829 2017-03-11
  • 打赏
  • 举报
回复
sorry.书上是 #include<stdio.h> #include<stdlib.h> void main() { int a, b, t; scanf_s("%d,%d", &a, &b); if (a > b) { t = a; a = b; b = t; } printf("%d,%d\n", a, b); return; 那造成我上面的那个问题是原因是因为后面赋值的&a, &b);这部分吗。这个&符号在这里发挥了什么作用?
b02042236 2017-03-11
  • 打赏
  • 举报
回复
printf("a=%d,b=%d\n", &a, &b); 改成 printf("a=%d,b=%d\n", a, b); 试试。
ztenv 版主 2017-03-11
  • 打赏
  • 举报
回复
printf("a=%d,b=%d\n", &a, &b);
确定书上也是这么写的?

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧