关于void和return的问题。
发布网友
发布时间:2022-05-02 18:36
我来回答
共3个回答
热心网友
时间:2022-06-21 06:28
首先,void main 在新标准中是错误的。 main() 返回一个整型给调用它的程序。int 返回类型是可以省略的(但不建议)。
不返回值并不代表函数没用。它可以输出信息,读写文件等干很多别的事情。在 C 语言中,也可以给函数传递指针参数,让函数修改相应的内存空间数据,这样函数返回后,传入指针所指向的数据已经改变了,变相达到返回结果的目的(这在 C 中很常见)。
没有 return (但函数未声明为 void)时根据不同的系统/编译器,可能返回某些值。比如 gcc 编译器在打开 -Wall 选项时会可能警告你非 void 函数没有返回语句,因为这时函数可能返回的值是非常古怪的:
warning: control reaches end of non-void function
声明为 void 的函数也可以 return,后面不加东西,像这样:
return;
以使函数立即返回(比如函数执行出错,后面的语句不应该被执行)。
热心网友
时间:2022-06-21 06:29
。。。。。。
这个你要细心的看看入门书籍。
简单来说
C语言所有过程都是函数,函数要求参数来处理,要求返回值来提供结果,在函数声明的时候,函数名前必须有一个类型来表示返回类型,如果没有返回类型,则void。
以main 为例,一般我们用void main 不需要返回值,但有些情况需要了解main的执行结果,这样就用一个int main,用一个整数来标志main返回结果。
对于规定了返回类型,即不是void的函数,必须return 一个类型合宜的值;而对于void类型的函数,你可以不return;但是这里return还有一个作用就是立即中止这个函数并返回,所以void函数可以有return,不允许的说法是错的。
热心网友
时间:2022-06-21 06:29
这个如果说深的话就牵扯到堆栈的问题上了。。。
简单的说,就是在main函数里调用函数的时候会有区别,举个例子:
int demo()
{
int a = 1;
return a;
}
void etc(int a)
{
a = a + 1;
}
void main()
{
int b = demo();//这里给b赋值,可以设想要是demo函数没有返回值的话,这条语句就是错误的。
etc(b);
cout<<b;//这里输出的就是2了
}
主函数输不输出是看你的main里面的cout/printf而不是函数,函数只是帮助你处理数据而已。。。
关于void和return的问题。
没有 return (但函数未声明为 void)时根据不同的系统/编译器,可能返回某些值。比如 gcc 编译器在打开 -Wall 选项时会可能警告你非 void 函数没有返回语句,因为这时函数可能返回的值是非常古怪的:warning: control reaches end of non-void function 声明为 void 的函数也可以 return,后面不加东...
C中return和void 的问题```高手指点~~~
1,return 给调用函数返回一个值 为函数声明的类型 ,函数遇到return就会返回,没有return就运行到函数的闭括号;2,void的函数 没有返回值;3,声明函数为空类型,即不返回任何值;void main(){ printf("hello\n");……} 其中不需返回值 声明指针时为任意类型,可以转换为其他类型 void *p=NULL;...
C语言之void/return用法
C语言中的void和return是两个关键概念,void用于表示函数没有返回值或操作结果,而return则用于控制函数的执行流程。当你声明一个函数为void,如void xxx(void),这意味着该函数不返回任何值,也不接受参数。在Visual Studio中,试图将void函数赋值或在非主函数中调用会触发错误。相比之下,int xxx(void...
C语言中void的作用和return;作用是相同的吗?
你好!void和return是不同的,void用在函数声明和定义时函数名的前面,意思是不返回任何类型的值。这个位置的标识符是指返回值类型,不返回自然是void。return是返回,是一个动作,返回return后面的值,然后终止函数。关系:当return后没有值或没有return语句,则函数名前写void ...
C语言程序中的void跟return的使用方法?
C语言里(旧标)如果函数前面不加返回类型, 就默认是void 所以main() {} 就相当于 void main() {} void表示该函数没有返回值,所以不需要return xxx, 也不能return值 (但是可以单独用return跳出函数)对于main函数,现在是推荐 int main() { return 0; } ...
void类型的函数怎么结束
结论:在C语言中,void类型的函数虽然不返回任何值,但可以通过return语句来结束其执行。return实际上是一个控制流操作,它会中止当前函数并返回控制权给调用者,即使在main函数中,不写return也会在函数执行完毕后自动返回。void类型的函数并非不能使用return,它只是不需要返回特定值。return的典型用法就是...
void和return 0是不是一个意思啊?
楼上说的非常对,void代表函数没有返回值,或者返回值是空,也就是只写一个return但是后面没有跟值的情况,而return 0代表返回的值是1,对应函数的声明部分也要有对应的关键字如int func(){return 0;}。但是main函数比较特殊,因为它是程序的入口函数,所以它的返回值代表这个程序以正常结束,这个是...
c++ void 和 return
第二个函数void swap(int num1,int num2)中的交换操作达不到前者的效果,因为这个函数的形参是“传值”操作,即调用时只是把1和2对应传给了num1和num2,swap中操作的是num1和num2,与a和b无关。C++和C一样,以函数作为基本运作单位,所以函数的调用没有限制,只要主调函数“知道”有这个被...
JAVA中,如果是无返回值的函数(void),return;是不是可以省略不写_百度...
void的时候,必须没有return;有返回类型的时候,必须得有return;
C语言函数return和void的用处和意义分别是什么?
return是C语言中的一个关键字,void是C语言中数据的一个类型。return意为返回,void意为“无类型”或者“空类型“return 用来被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。 return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不...