我給1000位數字作爲輸入,並使用此程序來查找5個連續整數的最大乘積。該陣列被用來保持與最高product.I我卻得到了意想不到的答案序列(我懷疑問題是在轉換,從焦炭到int)字符到int轉換錯誤在c
#include <stdio.h>
int main(void)
{
int a[5],c=0,b,i=1;
char *num[1000];
scanf("%s",&num);
while(i<5)
{
a[i]=num[i]-'0';
i++;
}
while(i<1000)
{
b=(char)num[i]-'0';
if(a[c]<b)
{
a[c]=b;
c=(c+1)%5;
}i++;
}
printf("%d",a[0]*a[1]*a[2]*a[3]*a[4]);
return 0;
}
除了固定類型,如果你想存儲1000個字符,你需要在末尾分配額外的內存空間來終止空值,所以使'num'至少爲1001. – woolstar