#include<stdio.h>
int add(int,int);
main()
{
int a=2,b=3;
printf("%d %d %d",a,b,add(a,b));
getch();
}
int add(int a,int b)
{
int c;
c=a+b;
}
那麼好吧這給了我輸出2 3 5
..但下面的程序傳遞函數參數和返回聲明
#include<stdio.h>
int add(int,int);
main()
{
int a=2,b=3;
printf("%d %d %d",a,b,add(a,b));
getch();
}
int add(int a,int b)
{
int c;
c=a+b;
c=0;
}
不過它給2 3 5
作爲輸出..因爲我們沒有return
聲明最後陳述c=0
不初始化。它應該給2 3 0
,但它只給出2 3 5
。
[This](http://stackoverflow.com/questions/1610030/why-can-you-return-from-a-non-void-function-without -returning-a-value-without-pr)解釋它。 –