C語言程式問題,程式如下,c語言程式,詳細問題如下

時間 2022-05-06 06:04:19

1樓:匿名使用者

1原型:extern int strcmp(const char *s1,const char * s2);

所在標頭檔案:string.h

功能:比較字串s1和s2。

一般形式:strcmp(字串1,字串2)

說明:當s1s2時,返回正數 注意不是1

即:兩個字串自左向右逐個字元相比(按ascii值大小相比較),直到出現不同的字元或遇'\0'為止。如:

"a"<"b" "a">"a" "computer">"compare"

特別注意:strcmp(const char *s1,const char * s2)這裡面只能比較字串,不能比較數字等其他形式的引數。

2原型宣告:extern char *strcpy(char* dest, const char *src);

標頭檔案:#include

功能:把從src位址開始且含有null結束符的字串複製到以dest開始的位址空間

說明:src和dest所指記憶體區域不可以重疊且dest必須有足夠的空間來容納src的字串。

返回指向dest的指標。

3 你的問題

因此你這個是求最大字串的,string在上乙個if。else中已經賦值了。

這次只是比較第三個,如果小了再對string賦值。

不小,string本身就最大了,

可以加個else;空語句這樣結構完整。

if。else有多種用法。可以使用單個if,但不能單個else。

2樓:匿名使用者

這個程式是找出三個字串最大的乙個。第乙個if語句找出的是str[1]和srt[0]之中的較大的乙個字串,並令較大的字串複製到string,而第二個if語句是比較string和str[3],如果str[2]比string大的話,那就將str[2]複製到string那裡,否則就維持string不變,不用做操作,所以不用加else。

3樓:與子如初見

if (strcmp (str[2],string)>0) strcpy (string ,str[2]); 的意思是如果str[2]中的字串大於字串string,就把str[2]中的字串賦值到string中。也就是說程式的功能是求str[0]、str[1]、str[2]3個字串中的最大的字串。不需要加else,如果加了else你覺得應該怎麼寫?

4樓:泡泡茶壺大人

由於一維的string串用來儲存最大字串 執行完第乙個if後,string中儲存的是二維string中第0行和第1行中最大的 然後在第二個if中比較string與string 如果成立 那麼string中將是string的內容 如果不成立,說明string中的串仍是最大的 所以不用再加else了 純屬多餘

明白了嗎?

5樓:匿名使用者

以為這個程式就是求三個字串最大的,先比較前兩個字串,再比較第三個,如果 if (strcmp (str[2],string)>0)不成立,說明,最大的是前兩個中的 乙個,第三個字串不是最大的,所以不用加else。

c語言程式,詳細問題如下

6樓:匿名使用者

#include

#include

int main()

b[i]=sum;

}printf("陣列a:");

for(i=0;i<8;i++)

printf("\n陣列b:");

for(i=0;i<8;i++)

printf("\n");

system("pause");

return 0;}

用c語言編寫如下程式?

c語言問題有如下程式:

7樓:匿名使用者

結果是60,這個是由於函式中sum定義為staic的緣故。

一旦定義為static,那麼定義的引數值不會隨著呼叫結束而釋放,而是儲存起來。

函式的計算就是從陣列的第0個數累加到最後乙個數。

主函式呼叫函式fun(a,5),累加結果為1+2+3+4+5=15,這時15就被儲存起來。

當主函式再呼叫fun(b,4)時,已經不是從0開始累加,而是從15開始,那麼就是:

15+6+7+8+9=45

因此最後的結果就是:s=fun(a,5)+fun(b,4)=15+45=60

8樓:惡魔

這個簡單

int fun(int x[ ],int n)//定義乙個int函式,int x[ ],int n是形參

{static int sum=0,i;// static意思是靜態,可以修飾類、字段、屬性、方法標記為st//atic的就不用建立例項物件呼叫了

for(i=0;i

你這個應該是給乙個陣列然後計算相加的和的一段程式,解釋我都寫注釋了

9樓:匿名使用者

結果是執行視窗顯示60

函式fun的作用是傳入陣列x,及其長度,並返回求和結果。

主函式main的作用是執行程式,程式執行兩個求和結果相加,並列印其結果。

int fun(int x[ ],int n) //定義返回值為整型的fun函式,傳入整型陣列x和整型n

void main( ) //主函式

, b[ ]=, s=0; //定義整型陣列a,b並初始化, 定義整型變數s

s=fun(a,5)+fun(b,4); //呼叫函式fun並求陣列a,b之和儲存到變數s

printf("%d",s); //按整型格式在控制台輸出s}

c語言有關巨集的問題,程式如下 200

10樓:風若遠去何人留

請提供更具體程式**。

才好針對作答。

可以追問 或者補充提問。

c語言程式演算法問題,求助,C語言程式演算法問題,求助。

首先產生乙個疑問,怎麼最後會乙個也不剩啊,應該最後剩的是1到12號的人吧。這是我編的,自己檢驗了 輸出結果是對的,你先看一下 吧,如果不對,請提出來。若證明是對的但看不懂請先多思考一下,思路並不複雜。include int main printf n 約瑟夫環 遞迴的 include int mai...

C語言程式問題,乙個C語言程式問題

float不能求餘數,所以h 0 這句是想當然的嘍 實際上 如果 float f 100.2f int i f 3 這樣的操作在編譯期就 不能通過,更不要說計算了 h t 100 12 在這語句中 所有的變數都是int型根據隱性轉換規則,每一步操作都只會得到int值所以 t 100 16 而不是你想...

c語言程式問題

首先 scanf d,d,d a,b,c 那個百分號是不是打錯了?其次是邏輯錯誤 設輸入為abc,若a 再次 沒有用到的指標是浪費,中間轉換用的臨時變數有乙個足夠了,用t和g也有點浪費 好了,基本就這樣。下面是3個數比較大小排序的 對比一下,就可以發現你的 少了一次比較?include int ma...

c語言程式問題,c語言程式設計問題

記憶體不能為written就是說,你往不該寫的地方寫了東西,很明顯char s3沒有分配空間,這是指標運用的常見錯誤,include include main 這樣就ok了,嘻嘻 我也不知道為什麼要這樣。s3沒有分配記憶體。都是胡說八道。s3 null char s1 12345 s2 1234 s...

解釋c語言程式,解釋C語言程式

include 包含標頭檔案stdio.h void dec2hex int n,char str 函式dec2hex,沒有返回值,帶乙個整型引數和乙個字串陣列引數 while n 0 n大於0時繼續執行do.while str m 0 把字元 0 字串的結束字元 賦給str m for i 0,j...