
关于C语言的,高手帮我看看这段程序哪错了,为什么用tuberC2.0运行说for那循环错误
#include<stdio.h>#defineNUM_RATES(sizeof(value)/sizeof(value[0])#defineINITIAL_BALANC...
#include <stdio.h>
#define NUM_RATES (sizeof(value)/sizeof(value[0])
#define INITIAL_BALANCE 100.00
main()
{
int low_rate,num_years,year,i;
float value[5];
printf("Enter interest rate:");
scanf("%d",&low_rate);
printf("Enter number of years:");
scanf("%d",&num_years);
printf("\nyears");
for (i=0;i<NUM_RATES;i++)
{
printf("%6d%",low_rate+i);
value[i]=INITIAL_BALANCE;
}
printf("\n");
for (year=1;year<=num_years;year++)
{
printf("%3d ",year);
for (i=0;i<NUM_RATES;i++)
{
value[i]+=(low_rate+i)/100.0*value[i];
printf("%7.2f",value[i]);
}
printf("\n");
}
return 0;
}
错误就这个,不知道能不能看请 展开
#define NUM_RATES (sizeof(value)/sizeof(value[0])
#define INITIAL_BALANCE 100.00
main()
{
int low_rate,num_years,year,i;
float value[5];
printf("Enter interest rate:");
scanf("%d",&low_rate);
printf("Enter number of years:");
scanf("%d",&num_years);
printf("\nyears");
for (i=0;i<NUM_RATES;i++)
{
printf("%6d%",low_rate+i);
value[i]=INITIAL_BALANCE;
}
printf("\n");
for (year=1;year<=num_years;year++)
{
printf("%3d ",year);
for (i=0;i<NUM_RATES;i++)
{
value[i]+=(low_rate+i)/100.0*value[i];
printf("%7.2f",value[i]);
}
printf("\n");
}
return 0;
}
错误就这个,不知道能不能看请 展开
2个回答
展开全部
一看你程序看到这里
#define NUM_RATES (sizeof(value)/sizeof(value[0])
我就一头雾水了,
VALUE是啥?
然后看到下面,哦,是个数组,但要告诉你的是预定义是在编译的时候才会知道你的VALUE是什么东东,现在它不知道你的VALUE是啥(因此value[0]是错的),况且你的VALUE还在下面,不过就算在上面也是不能这样写,所以正确的写法是
#define NUM_RATES (sizeof(value)/sizeof(int))
#define NUM_RATES (sizeof(value)/sizeof(value[0])
我就一头雾水了,
VALUE是啥?
然后看到下面,哦,是个数组,但要告诉你的是预定义是在编译的时候才会知道你的VALUE是什么东东,现在它不知道你的VALUE是啥(因此value[0]是错的),况且你的VALUE还在下面,不过就算在上面也是不能这样写,所以正确的写法是
#define NUM_RATES (sizeof(value)/sizeof(int))
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询