C程序问题,请问哪里错了(算平均分的)

来源:百度知道 编辑:UC知道 时间:2024/06/30 02:11:24
#include "stdio.h"
main()
{void pjf(int b[],int number,char search1[]);
int a[3][3]={{1,2,3},{5,6,7},{9,10,11}};
char search[6];
printf("please down the number: ");
scanf("%s",&search);
pjf(a,3,search);

}
void search(int b[],int number,char search1[])
{int i;int sum;int *p;
float average;
if(search1=="one")
p=b+0;
else if(search1=="two")
p=b+1;
else if(search1=="three")
p=b+2;
for(i=0;i<number;i++)
{sum=sum+*(p+i);}
average=sum/number;
printf("%0.2f",average);
}
修改后:怎么还是不能执行
#include "stdio.h"
main()
{void pjf(int *p,int number,char search1[]);
int a[3][3]={{1,2,3},{5,6,7},{9,10,11}};
char search[6];
printf("please down the number: ");
scanf("%s",&search);
pjf(*a,3,search);

}
vo

比较字符串的大小不能用 == 的
C中比较字符串变量只能用函数strcmp(str1,str2)实现,
该函数的返回值
>0 (str1>str2)
<0 (str1<str2)
=0 (str1=str2)

#include "stdio.h"

void search(int,int,char);//函数原型在这定义

void pjf(int b[],int number,char search1[]);//函数原型在这定义,主函数前

void main()
{
int a[3][3]={{1,2,3},{5,6,7},{9,10,11}};//数组与下面的不一致,改成一维的好了
char search[6];
printf("please down the number: ");
scanf("%s",&search);
pjf(a,3,search);

}

void search(int b[],int number,char search1[])
{
int i;int sum;int *p;
float average;
if(search1=="one")
p=b+0;
else if(search1=="two")
p=b+1;
else if(search1=="three")
p=b+2;
for(i=0;i<number;i++)
{sum=sum+*(p+i);}
average=float(sum/number);//注意类型转换
printf("%0.2f",average);
}