C语言初学者 请教大神 为什么change函数中的printf运行的时候没有显示???请大神详解 指出原理

2024年11月15日 08:00
有5个网友回答
网友(1):

return语句是一个函数的结束语,当运行到return number = number*2的时候,change子函数已经结束了,不会继续执行printf语句。如果想要执行printf的话,把两条指令的顺序交换一下就可以了。

网友(2):

这个看不出来呀。理论上会显示的。因为程序结束后肯定会flush缓冲区的,标准输出缓存的也会flush的。

网友(3):

呵呵,打印输出前,你已经return啦!
int change(int number)
{
int tmp;
tmp =number * 2;

printf("change函数number=%d \n", tmp);

return tmp;
}

网友(4):

因为你在printf之前已经return了。
把最后两行颠倒一下。

网友(5):

把return number = number * 2;
printf("change函数number=%d \n", number);这两句互换位置
因为在函数中只要遇到return 语句就会推出函数 此后的语句不会执行