看板 ESOE-90 關於我們 聯絡資訊
嗯... 寫的不錯... 不過有一點小問題 來個線上教學好了 ※ 引述《fatder (蓋喬丹火鍋...爽)》之銘言: : 巴拉, : 我沒偏心。。。 我知道 : #include<stdio.h> : float ama(float*,float* ); ^^^^^ void 意思是沒有回傳值 : int main() : { : float a[3],b[3]; : printf("輸入任意三個數給a陣列\n"); : scanf("%f%f%f",&a[0],&a[1],&a[2]); : printf("輸入任意三個數給b陣列\n"); : scanf("%f%f%f",&b[0],&b[1],&b[2]); : ama(a,b); : return 0; : } : float ama(float *a,float*b ) ^^^^^ void 跟宣告一樣 : { : float c[3]; : int i; : for(i=0;i<3;i++) : { : c[i]=(a[i])*(b[i]); : printf("%f\n",c[i]); : } : return 0; ^^^^^^^^^ 這行不用,因為沒有回傳值 : } 還有,我覺得比較好的是把c陣列也傳進去 然後在main函式裡把他printf出來 這樣子的話程式可以這樣寫 #include <stdio.h> void ama(float*, float*, float*); int main(void) { float a[5] = {1, 2, 3, 4, 5}; float b[5] = {2, 2, 2, 2, 2}; float c[5]; ama(a, b, c); for(int i=0; i<5; i++) printf("a[%d] = %f, b[%d] = %f, c[%d] = %f\n", i, a[i], i, b[i], i, c[i]); return 0; } void ama(float *a, float *b, float *c) { for(int i=0; i<5; i++) c[i] = a[i] * b[i]; } 大叔覺得怎樣... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.26.3