#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=8和out =7)时,值ret2是8多少?