小编Him*_*ani的帖子

没有return语句的函数的返回值是多少?

#include<stdio.h>
int sel=5,out=10;

int findout(){
    if(sel==5)
        return out*=2;
}

int main(){
    int ret1,ret2=-1;
    ret1=findout();
    printf("before %d %d %d",sel,out,ret1);
    sel=8;out=7;
    ret2=findout();
    printf("\nafter %d %d %d",sel,out,ret2);
}
Run Code Online (Sandbox Code Playgroud)

输出:

在5 20 20之前

8 7 8之后

编辑:我的编译器没有显示任何警告.在这里你可以看到它.它在Ubuntu OS上的代码块GNU GCC编译器上

g++   -c Untitled1.cpp -o Untitled1.o
g++  -o Untitled1 Untitled1.o   
Process terminated with status 0 (0 minute(s), 0 second(s))
0 error(s), 0 warning(s) (0 minute(s), 0 second(s))
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,当我没有返回任何值(for sel=8out =7)时,值ret28多少?

c return return-value function-call

4
推荐指数
2
解决办法
309
查看次数

标签 统计

c ×1

function-call ×1

return ×1

return-value ×1