| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1329 人关注过本帖
标题:关于scanf函数于变量地址&之间的问题请教
取消只看楼主 加入收藏
gvtbs
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2004-9-6
收藏
 问题点数:0 回复次数:2 
关于scanf函数于变量地址&之间的问题请教
我们用scanf 函数的时候在格式符后面就是变量的地址了,书上说这里的每一个变量前面都要代一个& 可是我试了有的时候是会提示出错但有的时候即然什么事都没有而且也会传到dos下提示我们输入数字只不过好像输出的结果是不正确的,但是这明显是不对的啊!!为什么不会报错啊!高手指教啊!!!
搜索更多相关主题的帖子: 变量 scanf 函数 地址 
2004-11-03 16:52
gvtbs
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2004-9-6
收藏
得分:0 
以下是引用lvlink在2004-11-03 21:08:34的发言:

不过也有不需要加&的,例如:

定变量本身就是一个指针(如:int *a;scanf("%d",a))

或者是数组名(如:char a[10];scanf("%s",a))

这时的程序是对的

兄弟这样写是不合法的啊,在C语言中不是有规定不能对数组中的名直写操作,要于FOR语句结合才行啊!

2004-11-04 11:20
gvtbs
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2004-9-6
收藏
得分:0 
以下是引用天使预备役在2004-11-04 11:31:24的发言:

什么&,他只是个标志,告诉你要被输入的地址,是后面的那个变量所存的地址,

只要你知道你想存的地址,用不用&都可以,

例如:

int a;scanf("%d",&a);这个&a就是表示a变量的地址;

我也可以这样写:

int a,b;b=(int)&a;scanf("%d",b);这时b变量的值就是a的地址,你看一下结果不久对了。

而,int a,*b;b=&a;scanf("%d",b);同上!!!

b前面的星号表示什么。

2004-11-04 18:39
快速回复:关于scanf函数于变量地址&之间的问题请教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015844 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved