| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 508 人关注过本帖
标题:请教一下函数问题关于void的
只看楼主 加入收藏
冰糖年糕
Rank: 2
等 级:论坛游民
帖 子:19
专家分:15
注 册:2015-3-6
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
请教一下函数问题关于void的
void表示没有返回值,那函数前加void没有意义啊,如void f()
{10},主函数调用x=f(),那结果是错的吧,我觉得应该把void改成int,,但是int又要加return ,我彻底搞不清了,哪位高手能解释一下,或者加我qq1025802991,或留一个qq,交流一下,谢谢
还有就是,
    void f()
     { return 10};
 怎么写对不对啊,哪主函数调用,会出现什么问题,在复杂一点,
  void f()
   { 100
      return 10
   }这样当主函数调用时,返回值时100, 还是10啊

[ 本帖最后由 冰糖年糕 于 2015-3-6 20:01 编辑 ]
搜索更多相关主题的帖子: return 
2015-03-06 19:59
yangcaifei
Rank: 4
来 自:陕西
等 级:业余侠客
威 望:2
帖 子:127
专家分:216
注 册:2014-11-3
收藏
得分:5 
需要返回值是 int,不需要时可以void也可以int
2015-03-06 20:32
windthenrain
Rank: 2
等 级:论坛游民
帖 子:21
专家分:15
注 册:2014-10-27
收藏
得分:5 
第一个正确写法:有void时:
void f ()
{
    return ;
}
第二个正确写法
int f ()
{
    int x = 100 ;
    return 10 ;
}
返回10
2015-03-06 20:34
冰糖年糕
Rank: 2
等 级:论坛游民
帖 子:19
专家分:15
注 册:2015-3-6
收藏
得分:0 
回复 3楼 windthenrain
第二个正确写法
int f ()
{
    int x = 100 ;
    return 10 ;
}
返回10
  那 返回10 是反的那里
   如,int main()
       i= f()
       print(“i=%d\n”,i);
   return 0;
  结果是 i=10
   那里的int x=100,不影响i=f(),或者我在普通函数f()里面加上printf(“%d”,x ),哪在主函数调用时,会出错么?
2015-03-06 21:09
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
樓主是自學還是怎麽的?思路很混亂啊,教材、老師沒講清還是你沒好好聽和看?

授人以渔,不授人以鱼。
2015-03-06 21:48
冰糖年糕
Rank: 2
等 级:论坛游民
帖 子:19
专家分:15
注 册:2015-3-6
收藏
得分:0 
回复 5楼 TonyDeng
自学的,不太清楚
2015-03-06 21:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
void衹是表示不需要函數返回值。由於C語言衹有函數語法,與BASIC等語言有過程不同,就函數的概念來説,都是有返回值的,這與數學上的函數概念一致,而過程在概念上就不需要返回值,所以函數和過程的區別,是有沒有返回值而已。C由於沒有過程的概念,所以全部都是函數,而爲了照應過程的概念,就定義了返回值爲void的函數形式,那就是模仿過程。事實上,在當今編程的領域,函數和過程已經沒有差別了,函數可以沒有返回值,而很多過程也有返回值,所以無需糾結這個問題。

void f()的函數,表示它沒有返回值,那麽在語法上,void f() { return 10; }這樣的代碼,在編譯器層次上可能會報錯;同樣的,若是int f() {}沒有寫return,則編譯時也會報錯。這些都是語法檢查層面上的,一般編譯器都會檢查出來。程序員所要做的,就是明確自己的邏輯:你的函數到底是否需要返回值,真的不需要,就寫void。

函數內部的局部變量,對外沒有影響,外部不能訪問函數內部的變量,而在函數內部,對自己所擁有的變量做任何處置,都是自由的,即你完全可以print出內部變量,不用擔心外面。

在內就是自己的世界,不要管外面;在外別去干涉人家內部。這是寫程序的原則,你在函數外部顧慮函數內部幹嘛!不要有這類糾纏不清的思想,學會“分析”,即分拆考慮,分拆就是相對獨立的,隔離的,(暫時地)與別的無關的。學過高中物理的,都應掌握這種分析的思維方式,編程也要這樣。你的問題,就屬於牽扯太多,糾纏不清,考慮不該考慮的。


[ 本帖最后由 TonyDeng 于 2015-3-6 23:21 编辑 ]

授人以渔,不授人以鱼。
2015-03-06 22:08
swchvs
Rank: 2
等 级:论坛游民
威 望:2
帖 子:53
专家分:81
注 册:2015-2-21
收藏
得分:5 
好难
2015-03-06 22:15
快速回复:请教一下函数问题关于void的
数据加载中...
 
   



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

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