C语言指针与字符数组问题
#include<stdio.h>
char *name[ ]={"A","B","C"};
int main(void)
{
void average(float j[][3]);
int n,i;
float grade[3][3];
printf("请分别输入三个人的成绩:");
for(i=0;i<3;i++)
{
printf("\n%s:\n",name[i]);
for(n=0;n<3;n++)
{
scanf("%f",&grade[i][n]);
}
}
average(grade);
return 0;
}
void average(float j[][3])
{
int n,i;
float sum,m[3];
for(i=0;i<3;i++)
{
sum=0;
for(n=0;n<3;n++)
{
sum+=j[i][n];
m[i]=sum/3;
} printf("\n%s的平均成绩是:%5.1f",name[i], m[i]);
}
}
为啥把那个name前面那个 * 号去掉,就不能运行了啊!而且一个字符不应该用单引号吗?,改成单引号并把那个*号去掉就不行了
题目是从键盘输入5名学生某科目成绩,存储在一个一维数组中
1回答
-
奕吉啊
{
scanf("%f",&grade[i][n]); //取地址符&应该去掉
}