有关C语言void问题
C语言void,有些地方没明白:1.void在哪些地方使用,作用是什么?2.void好像指函数无返回值,如voidmain(){·········}假如函数体中有prin...
C语言void,有些地方没明白:
1.void在哪些地方使用,作用是什么?
2.void好像指函数无返回值,如void main(){·········}假如函数体中有printf(),那么不就是函数有结果并输出了么?那怎么还void呢?返回值与有结果输出是不是一回事啊?
希望学过C语言的朋友们帮我解答一下。谢谢啦! 展开
1.void在哪些地方使用,作用是什么?
2.void好像指函数无返回值,如void main(){·········}假如函数体中有printf(),那么不就是函数有结果并输出了么?那怎么还void呢?返回值与有结果输出是不是一回事啊?
希望学过C语言的朋友们帮我解答一下。谢谢啦! 展开
6个回答
展开全部
1.void用在函数无返回值的时候,函数前面需要指定返回值的类型,比如int型,char型,不返回时就用void。
2.返回值与结果输出不是一回事,结果输出是函数体执行的命令,一个函数可以输出多次。比如说调用一个整型求和函数,求和的结果在主函数中还要用到,需要传出来,就要把函数体声明成int sum(...){...},计算出的值就是函数返回值,return出来,主函数里可以直接使用,比如 int a=sum(...);如果主函数中不用,在求和函数中直接输出就行,可以声明成void sum(...){...},计算的值直接输出,函数无返回值。
主函数没有返回值。
2.返回值与结果输出不是一回事,结果输出是函数体执行的命令,一个函数可以输出多次。比如说调用一个整型求和函数,求和的结果在主函数中还要用到,需要传出来,就要把函数体声明成int sum(...){...},计算出的值就是函数返回值,return出来,主函数里可以直接使用,比如 int a=sum(...);如果主函数中不用,在求和函数中直接输出就行,可以声明成void sum(...){...},计算的值直接输出,函数无返回值。
主函数没有返回值。
展开全部
不是,像printf(),scanf()在编译器以及电脑操作系统之中有相应的接口,程序最终的实现是通过机器语言来实现的。当然中间也有一个转化的过程。而void属于用户自己定义的,可以使用,也可以不使用,如int main{ ; return 0; }同样可以编写程序。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、void 就是指无返回值,作用是声明该函数没有返回值
2.主函数没有返回值的,所调用的函数返回的值就叫返回值了,.printf()不是指返回值,这是打印出屏幕,没有值返回!返回值与输出不同的。
譬如
void p_rint()
{
printf("hello");
}
int fanhui()
{
return 3;
}
void main()
{
int a;
p_rint();//无返回值的,直接打印
a=fanhui();//有返回值的
}
2.主函数没有返回值的,所调用的函数返回的值就叫返回值了,.printf()不是指返回值,这是打印出屏幕,没有值返回!返回值与输出不同的。
譬如
void p_rint()
{
printf("hello");
}
int fanhui()
{
return 3;
}
void main()
{
int a;
p_rint();//无返回值的,直接打印
a=fanhui();//有返回值的
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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)就会出错了
但是返回值跟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)就会出错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
此函数没有返回值,即,如果你不关心此函数执行结果(成功或失败),就可以把此函数设置为void。不过如果可以通过传出的形参来判断此函数执行过程的话,也可以设置成void,但是C中的main函数是一个特例。上面只是一般性的解释。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第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)
根本是八竿子打不着的事情,怎么能扯在一起呢?
如果把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)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询