第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

求高手認(rèn)真讀讀我的程序,幫忙看看錯(cuò)誤在哪···~~編譯的時(shí)候我暈了~~

求高手認(rèn)真讀讀我的程序,幫忙看看錯(cuò)誤在哪···~~編譯的時(shí)候我暈了~~

守著星空守著你 2022-11-03 13:09:19
我的程序如下~~#include<stdio.h>#include<string.h>float fun(int,char **);int main(){char ss[10][87];int numz=0;float k;do{printf("輸入第%d個(gè)字符串:\n",numz);gets(ss[numz]);numz+=1;}while(*ss[numz-1]!="****");numz-=2;k=fun(numz,ss);printf("地址是:%f\n",k);return 0;}float fun(int num,char **max){int i;char s[10][87];s[0]=*(max);for(i=0;i<=num-1;i++){if(strlen(s)<strlen(*(max+i+1)))s[0]=*(max+i+1);}printf("最長(zhǎng)的字符串是:\n");puts(s[0]);*max=s[0];return (max);}--------------------Configuration: lianan - Win32 Debug--------------------Compiling...lianan.cC:\Documents and Settings\Administrator\桌面\編程\lianan.c(12) : warning C4047: '!=' : 'int ' differs in levels of indirection from 'char [5]'C:\Documents and Settings\Administrator\桌面\編程\lianan.c(14) : warning C4047: 'function' : 'char ** ' differs in levels of indirection from 'char [10][87]'C:\Documents and Settings\Administrator\桌面\編程\lianan.c(14) : warning C4024: 'fun' : different types for formal and actual parameter 2C:\Documents and Settings\Administrator\桌面\編程\lianan.c(22) : error C2106: '=' : left operand must be l-valueC:\Documents and Settings\Administrator\桌面\編程\lianan.c(25) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'char [10][87]'C:\Documents and Settings\Administrator\桌面\編程\lianan.c(25) : warning C4024: 'strlen' : different types for formal and actual parameter 1C:\Documents and Settings\Administrator\桌面\編程\lianan.c(26) : error C2106: '=' : left operand must be l-valueC:\Documents and Settings\Administrator\桌面\編程\lianan.c(31) : error C2115: 'return' : incompatible typesError executing cl.exe.
查看完整描述

3 回答

?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

#include<stdio.h>
#include<string.h>
char* fun(int,char max[][87]);
int main()
{
char ss[10][87];int numz=0;char* k;
do
{
printf("輸入第%d個(gè)字符串:\n",numz);
gets(ss[numz]);
numz+=1;
}while(strcmp(ss[numz-1],"****")!=0);
numz-=2;
k=fun(numz,ss);
printf("地址是:%X\n",k);
return 0;
}
char* fun(int num, char max[][87])
{
int i;
char *s;
s=max[0];
for(i=0;i<=num-1;i++)
{
if(strlen(s)<strlen(max[i]))
s = max[i];
}
printf("最長(zhǎng)的字符串是:\n");
puts(s);
return (s);
}

改了一下 自己研究一下 呵呵!~ 沒(méi)什么大問(wèn)題
PS:只隨便調(diào)試了一下 不知道算法有無(wú)問(wèn)題


查看完整回答
反對(duì) 回復(fù) 2022-11-08
?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊

上面的都做出來(lái)了我就不做了,就分析下你錯(cuò)的地方:

C:\Documents and Settings\Administrator\桌面\編程\lianan.c(12) : warning C4047: '!=' : 'int ' differs in levels of indirection from 'char [5]'
錯(cuò)誤語(yǔ)句:while(*ss[numz-1]!="****");
解釋:*ss[numz-1]代表一個(gè)地址不能等于字符串,可改為ss[numz-1]。

C:\Documents and Settings\Administrator\桌面\編程\lianan.c(14) : warning C4047: 'function' : 'char ** ' differs in levels of indirection from 'char [10][87]'
錯(cuò)誤語(yǔ)句:k=fun(numz,ss);
解釋:ss為首地址指針。不能傳給char ** ,只能傳給char *。

C:\Documents and Settings\Administrator\桌面\編程\lianan.c(22) : error C2106: '=' : left operand must be l-value
錯(cuò)誤語(yǔ)句:s[0]=*(max);
解釋s[0]為一個(gè)地址指針,不能存儲(chǔ)。給數(shù)組賦值要用
for(int i=0;i<max;i++){s[0][i]=*(max+i);}

C:\Documents and Settings\Administrator\桌面\編程\lianan.c(25) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'char [10][87]'
錯(cuò)誤語(yǔ)句:if(strlen(s)<strlen(*(max+i+1)))
解釋:strlen需要傳遞一個(gè)char地址,s可改為s[0]。

C:\Documents and Settings\Administrator\桌面\編程\lianan.c(31) : error C2115: 'return' : incompatible types
錯(cuò)誤語(yǔ)句:return (max);
解釋:函數(shù)返回值類型要更定義類型一樣。max為char ** 類型,定義函數(shù)確為float。

相同錯(cuò)誤就不再說(shuō)了。


查看完整回答
反對(duì) 回復(fù) 2022-11-08
?
揚(yáng)帆大魚(yú)

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊

#include <stdio.h>
#include <string.h>

#define MAX_ROW 10
#define MAX_COL 87

/**********************************/
char * fun(int num,char max[][MAX_COL])
{
int i;
char *s;
s=*(max);
for(i=0;i<=num-1;i++)
{
if(strlen(s)<strlen(max+i+1)) { s=max+i+1; }
}
printf("The longest string is :\n");
puts(s);

return s;
}

/***********************************/

int main()
{
char ss[MAX_ROW][MAX_COL];
int numz=0;
char *k;

do
{
printf("Please input string_%d :\n",numz);
gets(ss[numz]);
numz+=1;
}while(strcmp(ss[numz-1],"****"));
/* 字符串的比較不能直接用地址,但可以用strcmp函數(shù)。相同返回0,不同則返回1 */

numz-=2;
k=fun(numz,ss);
printf("The address is 0x%x\n",k);

getch();
return 0;
}


查看完整回答
反對(duì) 回復(fù) 2022-11-08
  • 3 回答
  • 0 關(guān)注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)