函數傳回值是指函數放在等號右邊時結果應該為何? 因此函數不可放在等號左邊。 函數無論是否傳回值,均可單獨執行,例如下例是正確語法:
具有傳回值的函數,單獨執行,就如同下列程式碼,c 語言是允許的。
具有傳回值函數,程式碼中若無傳回指令,也不會編譯錯誤。 int one(void){ //不寫傳回,也不會錯 } void main(){ int x; x=one(); //放在等號右邊, x 得到未知之值 } 傳回值的資料型態,除了基本資料型態,也可以使用者自訂資料型態。下面是使用者自定義結構(不懂者請參考結構) struct complex{ int x; int y; }; struct complex *add(struct complex *a,struct complex *b){ a->x+=b->x; a->y+=b->y; return(a); } main(){ struct complex a,b; struct complex *c; a.x=2;a.y=-3; //2-3i b.x=1;b.y=5; // 1+5i c=add(&a,&b);//複數相加 printf("%d+%di\n",c->x,c->y); } |