有关C语言void问题

C语言void,有些地方没明白:1.void在哪些地方使用,作用是什么?2.void好像指函数无返回值,如voidmain(){·········}假如函数体中有prin... C语言void,有些地方没明白:
1.void在哪些地方使用,作用是什么?
2.void好像指函数无返回值,如void main(){·········}假如函数体中有printf(),那么不就是函数有结果并输出了么?那怎么还void呢?返回值与有结果输出是不是一回事啊?
希望学过C语言的朋友们帮我解答一下。谢谢啦!
展开
 我来答
百度网友db7aba062
2010-12-20 · TA获得超过218个赞
知道答主
回答量:61
采纳率:0%
帮助的人:46.5万
展开全部
1.void用在函数无返回值的时候,函数前面需要指定返回值的类型,比如int型,char型,不返回时就用void。
2.返回值与结果输出不是一回事,结果输出是函数体执行的命令,一个函数可以输出多次。比如说调用一个整型求和函数,求和的结果在主函数中还要用到,需要传出来,就要把函数体声明成int sum(...){...},计算出的值就是函数返回值,return出来,主函数里可以直接使用,比如 int a=sum(...);如果主函数中不用,在求和函数中直接输出就行,可以声明成void sum(...){...},计算的值直接输出,函数无返回值。
主函数没有返回值。
水土第一
2010-12-20 · It从业者的分享,欢迎下载分享
水土第一
采纳数:412 获赞数:1006

向TA提问 私信TA
展开全部
不是,像printf(),scanf()在编译器以及电脑操作系统之中有相应的接口,程序最终的实现是通过机器语言来实现的。当然中间也有一个转化的过程。而void属于用户自己定义的,可以使用,也可以不使用,如int main{ ; return 0; }同样可以编写程序。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
深海圣域
2010-12-20 · 超过17用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:42.7万
展开全部
1、void 就是指无返回值,作用是声明该函数没有返回值
2.主函数没有返回值的,所调用的函数返回的值就叫返回值了,.printf()不是指返回值,这是打印出屏幕,没有值返回!返回值与输出不同的。
譬如
void p_rint()
{
printf("hello");
}
int fanhui()
{
return 3;
}
void main()

int a;
p_rint();//无返回值的,直接打印
a=fanhui();//有返回值的
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
闲游的龟wk
2010-12-20 · TA获得超过244个赞
知道答主
回答量:73
采纳率:0%
帮助的人:77.2万
展开全部
void 一般用在函数返回值,就好像你说的main函数,返回为空
但是返回值跟printf没什么关系,并不是printf的输出是返回值,返回值是用return来返回的
例如:你定义一个void max()函数,返回为void,那在主函数中调用这个函数就不好输出结果了,你定义int max(int a,int b)
{
if(a>b)
return a;
else
return b;
}
这里返回的a,b就是值
在主函数main中你就可以直接调用max的返回值比如:
z=max(a,b);
printf("%d",&z);
如果你的返回值是void max(int a,intb),那主函数中z=max(a,b)就会出错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
h7618324
2010-12-20
知道答主
回答量:8
采纳率:0%
帮助的人:4万
展开全部
此函数没有返回值,即,如果你不关心此函数执行结果(成功或失败),就可以把此函数设置为void。不过如果可以通过传出的形参来判断此函数执行过程的话,也可以设置成void,但是C中的main函数是一个特例。上面只是一般性的解释。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
63...0@qq.com
2010-12-20 · TA获得超过980个赞
知道小有建树答主
回答量:704
采纳率:0%
帮助的人:363万
展开全部
第2行的void是main函数的,return z是max函数的
根本是八竿子打不着的事情,怎么能扯在一起呢?

如果把max函数修改为void类型的,我在VC上
#include<stdio.h>
void main()
{int a,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
}

void max(int x,int y)
{
int z;
z=x>y?x:y;
return z;
}
这样的程序,根本编译都通不过的,错误提示如下:
--------------------Configuration: aaa - Win32 Debug--------------------
Compiling...
x.cpp
E:\myDoc\vc6\aaa\x.cpp(5) : error C2065: 'max' : undeclared identifier
E:\myDoc\vc6\aaa\x.cpp(10) : error C2373: 'max' : redefinition; different type modifiers
E:\myDoc\vc6\aaa\x.cpp(12) : error C2562: 'max' : 'void' function returning a value
E:\myDoc\vc6\aaa\x.cpp(9) : see declaration of 'max'
Error executing cl.exe.
Creating browse info file...

aaa.exe - 3 error(s), 0 warning(s)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式