首页 热点专区 义务教育 高等教育 出国留学 考研考公

scanf("&x");scanf(&x);scanf("%d",x)有什么区别呢?

发布网友

我来回答

2个回答

热心网友

scanf(&x); // 语法错误,缺了输入格式定义。
scanf("&x"); // 从输入流中跳过2个字符,第一个是 &, 第2个是x

scanf("%d",x); 如果 x 是整型指针则是正确的。例如:
int y;
int *x=&y;
scanf("&x");
//scanf(&x);
scanf("%d",x);
printf("%d", *x);
-------------------
如果拍入:
&x345
输出就是
345
=======
如果 x 不是整形指针,而是 int x,
那么,scanf("%d",x); 语法错误。
应当写 scanf("%d",&x);
&x 是地址。

热心网友

这里面没有一个合法的,没有一个可以正确实现输入的。
应该是:
int x;
scanf("%d",&x);
%d是指整形
也就是说x是整形常量。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com