| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 737 人关注过本帖
标题:一点小问题
只看楼主 加入收藏
xblv
Rank: 1
等 级:新手上路
帖 子:7
专家分:6
注 册:2011-12-12
收藏
 问题点数:0 回复次数:10 
一点小问题
第一次来这个论坛,先问几个小问题
1.int s1, *s=&s1;这个为什么等价于int s1,*s;s=&s1;?
2.int main(),void main()以及main()的区别是什么?mian()不是一直都没有返回值的么?
3.函数的return值是1和非0这两者在实际作用上真的一点区别都没有么?
搜索更多相关主题的帖子: return 
2011-12-12 13:29
半个灵魂
Rank: 2
等 级:论坛游民
帖 子:13
专家分:11
注 册:2011-11-17
收藏
得分:0 
定义参数时赋值,和先定义,后赋值是一回事。 int void 是说明函数类型 跟你定义一个变量一样。返回值是可以随便给的。根据具体需要。
2011-12-12 13:34
xblv
Rank: 1
等 级:新手上路
帖 子:7
专家分:6
注 册:2011-12-12
收藏
得分:0 
回复 2楼 半个灵魂
第一个的问题的重点是为什么前面的是*s=&s1,却等价于s=&s1?虽然我实际编程也是这么用的,却不知道为什么
第二个问题的重点是主函数前方的这个到底有什么实际的区别?主函数没有返回值,他和普通函数的定义不一样。普通函数可以根据返回值的属性来判断函数的属性,无返回值就是void,返回值是整形就是int等等,但主函数没有返回值啊,用int的时候我们也不过是在后方加了一个return 0。他们在实际运用中到底有什么区别?
第三个问题我想明白了,这个return n;就和exit(n);的道理一样,只有0时的非正常退出和非正常返回,也就是错误性返回。
2011-12-12 13:46
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:0 
回复 3楼 xblv
建议你还是多看看书吧
2011-12-12 17:35
easonchanel
Rank: 2
等 级:论坛游民
帖 子:18
专家分:41
注 册:2011-8-23
收藏
得分:0 
1: int s1,*s;s=&s1;指的是定义了int形的指针,指针指向s1的内存地址,所以*s的值为s1的内存地址中的值
    int s1, *s=&s1;指的是将s1的内存地址中的值取出,赋给*s,*和&其实互为逆操作;
    所以两者的最终值是一样的,但是我个人建议选int s1,*s;s=&s1;这种定义方式,逻辑清晰;
2:int main() void main()其实是C89和C99中不同的main函数定义的标准不同而已,void main()要求无返回值,但在C99标准中要求main可以有返回值,这时int main()
    返回类型为int形。main()常在嵌入式操作编程中遇到(至少我老遇到),编译器会默认main()会有返回值,并且返回类型为int
3:个人认为没区别或者区别不大,其实返回1或者0只是逻辑1和逻辑0,在C中没有bool这个数据类型,只能用宏定义TRUE和FALSE,这时用1代表TRUE,用0代表FALSE
2011-12-12 21:56
wang155423
Rank: 6Rank: 6
等 级:侠之大者
帖 子:216
专家分:408
注 册:2011-9-4
收藏
得分:0 
定义
2011-12-12 22:04
渭平
Rank: 2
等 级:论坛游民
帖 子:22
专家分:14
注 册:2011-12-11
收藏
得分:0 
第一个问题见谭浩强C程序设计第四版223页
2011-12-13 09:11
xblv
Rank: 1
等 级:新手上路
帖 子:7
专家分:6
注 册:2011-12-12
收藏
得分:0 
回复 4楼 luchar
我们用的课本是那个什么机械什么的,很薄的一本,基本上只介绍,不解释
2011-12-13 10:36
xblv
Rank: 1
等 级:新手上路
帖 子:7
专家分:6
注 册:2011-12-12
收藏
得分:0 
回复 7楼 渭平
我们用的不是那书啊
2011-12-13 10:36
xblv
Rank: 1
等 级:新手上路
帖 子:7
专家分:6
注 册:2011-12-12
收藏
得分:0 
回复 5楼 easonchanel
昨天仔细的研究了下课本然后去网上查了一下,才知道main()的返回值是返回给操作系统,而void main()系统会默认为int main(){...return 0;},总之,谢谢了
2011-12-13 10:40
快速回复:一点小问题
数据加载中...
 
   



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

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