嗯... 寫的不錯...
不過有一點小問題
來個線上教學好了
※ 引述《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