中易网

formal parameter 4 different from declaration

答案:2  悬赏:0  
解决时间 2021-02-21 12:52
//这是自己编的一个费诺编码的C语言程序,运行时出现一个警告。
#include
#define SIZE 10

void Fano(int,int,int,double);

main()
{
int i=7,j=0,k=0;
double a[SIZE]={0.2,0.19,0.18,0.17,0.15,0.10,0.01};//数组a中存放输入的符号概率

Fano(j,k,i,a[SIZE]);
}

void Fano(int r,int x,int y,double b[SIZE])
{
int z,m,n,c[SIZE][SIZE];
double sum1=0,sum2=0,dec1,dec2;
if(y-x>1)
{
for(z=x;z<=y-1;z++)
{
sum1=sum1+b[z];
sum2=sum2+b[y-1-z];
while(sum1>=0.5)
{
dec1=sum1-sum2;
dec2=sum2+b[z]-(sum1-b[z]);
if(dec1 {
for(m=x;m<=z;m++)
c[r][m]=0;
for(n=z+1;n<=y-1;n++)
c[r][n]=1;
}
else
{
for(m=x;m<=z-1;m++)
c[r][m]=0;
for(n=z;n<=y-1;n++)
c[r][n]=1;
}
sum1=sum2=0;
break;
}
if(sum1=sum2=0)
break;
}
r++;
Fano(r,x,z,b[SIZE]);
Fano(r,z+1,y,b[SIZE]);
}
if(y-x==1)
{
c[r][x]=0;
c[r][y]=1;
}
}

PS:warning C4028: formal parameter 4 different from declaration

请帮忙看下是哪里不对,我始终找不出错误来。
最佳答案
第一个问题:
你这里的声明和定义不一致,声明的时候,Fano函数的第四个参数是一个变量,
但是定义的时候却是个数组。

根据你的程序我推断,你是想Fano函数的第四个参数为数组。

第二个问题:
如果我推断正确的话,那你就还有一个问题。
在函数调用传递一个数组的时候,只需要写上数组名就可以了,不需要加[],
否则就是传递一个数组元素了。

修改后的程序如下:
#include
#define SIZE 10

void Fano(int,int,int,double b[SIZE]);

main()
{
int i=7,j=0,k=0;
double a[SIZE]={0.2,0.19,0.18,0.17,0.15,0.10,0.01};//悢?a拞懚曻?擖揑晞崋奣棪

Fano(j,k,i,a);
}

void Fano(int r,int x,int y,double b[SIZE])
{
int z,m,n,c[SIZE][SIZE];
double sum1=0,sum2=0,dec1,dec2;
if(y-x>1)
{
for(z=x;z<=y-1;z++)
{
sum1=sum1+b[z];
sum2=sum2+b[y-1-z];
while(sum1>=0.5)
{
dec1=sum1-sum2;
dec2=sum2+b[z]-(sum1-b[z]);
if(dec1 {
for(m=x;m<=z;m++)
c[r][m]=0;
for(n=z+1;n<=y-1;n++)
c[r][n]=1;
}
else
{
for(m=x;m<=z-1;m++)
c[r][m]=0;
for(n=z;n<=y-1;n++)
c[r][n]=1;
}
sum1=sum2=0;
break;
}
if(sum1=sum2=0)
break;
}
r++;
Fano(r,x,z,b);
Fano(r,z+1,y,b);
}
if(y-x==1)
{
c[r][x]=0;
c[r][y]=1;
}
}
全部回答
你少一个}啦 ,还有不能使用scanf("%s",a); 遇到space就视为字串结束了 改了一下后,compiler正确无误的 -- #include "stdio.h" #include "string.h" int letter,digit,space,others; int statistic (char []); //char [] main() { char a[100]; letter=digit=space=others=0; printf("input string:\n"); gets(a);//不能使用scanf("%s",a);,遇到space就是为结束了 printf("string:%s\n",a); statistic(a); printf("letter:%d,digit:%d,space:%d,others:%d\n",letter,digit,space,others); //letter:%d return 0; } int statistic(char b[]) { int n,i; n=strlen(b); for (i=0;i='a'&&b[i]<='z') || (b[i]>='a'&&b[i]<='z') ) letter+=1; else if ( b[i]<='9'&&b[i]>='0') digit+=1; else if ( b[i]==32) space+=1; else others+=1; } //for的} return 0;//return 0; }//少了}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
明明文体超市我想知道这个在什么地方
何谓气相色谱?它分几类?
请问单招报了俩个学校影响审核结果吗?
后厨配菜,切菜,改刀,和炒菜师傅哪个工资高
But it's over now 是什么意思
日本的广告公司发展要比中国的要好吗
通盛五金在什么地方啊,我要过去处理事情
已知一次函数y=-√3x+3√3的图像与x轴、y轴分
德国为什么出了那么思想家?
高密市恒久彩钢瓦钢结构有限公司地址有知道的
深藏不露的性格是什麼样的?
真心不会和女的聊天啊,朋友昨天给我介绍个对
无棣瑞兴生物科技有限公司怎么去啊,有知道地
本人在徐州买的房子,房价46.9万,用住房公积
艺术风格除了中国风还有什么
推荐资讯
文凭学历没有,一个人流浪在外地,工作找不到
“易如既往”的下一句
电脑换了一条高清线后显示屏分辩率怎么也调不
TFBOYs里王俊凯,王源,易烊千玺谁最丑
无锡太湖学院大三可以申请考研宿舍吗
请问各位师傅双鹿空调定时怎样取消
硬盘扩展分区不显示是怎么回事
为什么喝酒时越喝越清醒,隔上二三天不喝酒时
女朋友总是说钓凯子的话故意气我
给我男人做的时候高潮一直上不去,怎么办?
大富豪车行这个地址在什么地方,我要处理点事
淘宝账号被查封了怎么办
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?