亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

錯誤信息的情況如下,麻煩大佬幫忙看看哈!

錯誤信息的情況如下,麻煩大佬幫忙看看哈!

C
大話西游666 2022-11-18 19:15:10
#include <stdio.h>main(){int a,b,c;int *p;scanf("%d%d%d",&a,&b,&c);p=fun_cmp(&a,&b,&c);printf("%d %d\n",p,*p);}int *fun_cmp(int *x,int *y,int *z ){if(*x>=*y&&*x>=*z) return x;if(*y>=*x&&*y>=*z) return yelse return z;}附加一道類似的,#include <stdio.h>main() /*返回值是指針*/{int *fun_cmp(int *x,int *y);int a,b;int *p;scanf(" %d %d ",&a,&b);p=fun_cmp(&a,&b);printf("%d\n",p); /**/printf("%d\n ",*p); /**/}int *fun_cmp(int *x,int *y){if(*x>*y) return x;else return y;}如果把scanf換成 int a=1,b=2; 的話此程序就正常;請求以上兩題(特別是第一題)的解答第一道題的錯誤信息如下:warning C4013: 'fun_cmp' undefined; assuming extern returning intwarning C4047: '=' : 'int *' differs in levels of indirection from 'int 'error C2040: 'fun_cmp' : 'int *(int *,int *,int *)' differs in levels of indirection from 'int ()'error C2143: syntax error : missing ';' before 'else'
查看完整描述

2 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

第一題少了一個聲明 int *fun_cmp(int *x,int *y,int *z),或者你把函數的調用那部分放到前面去就可以省略這個聲明,
int *fun_cmp(int *x,int *y,int *z )
{
if(*x>=*y&&*x>=*z) return x;
if(*y>=*x&&*y>=*z) return y
else return z;
}
這部分寫的不是很清晰,而且出現了錯誤,最好寫成
int *fun_cmp(int *x,int *y,int *z )
{
if(*x>=*y&&*x>=*z) 
return x;
else if(*y>=*x&&*y>=*z) 
return y;
else 
return z;
}
這樣看起來是不是好點?這程序還有其他的錯誤,因為我對指針還不是很熟悉,不知道怎么改了,希望對你有點幫助


查看完整回答
反對 回復 2022-11-22
?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

*fun_cmp
return y后面少個分號 
第二個把scanf里的空格去掉試一下

查看完整回答
反對 回復 2022-11-22
  • 2 回答
  • 0 關注
  • 182 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號