内積用の関数を書き込もうとしましたが、プログラムが正しく機能しません。 私の間違いはどこですか?Cで配列添字を使用しない内積関数
#include<stdio.h>
#include<stdlib.h>
int inner_product(const int *a, const int *b, int size)
{
int sum = 0, i;
for (i=0; i<size; ++i)
sum += *(a+i) * *(b+i);
return sum;
}
int main()
{
int n, a, b;
printf("How many elements do you want to store? ");
scanf("%d",&n);
printf("%d",inner_product(&a,&b,n));
system("pause");
return 0;
}
「a」と「b」は未初期化で使用されます。 – haccks
そして、それぞれ(* a + i)*を1つだけ持ち、b *派生はUBを呼び出します。 – WhozCraig