麻煩看個C語言的題目,我自己寫的和答案的個人認為本質無區別可是結果不對

2022-05-16 16:53:51 字數 531 閱讀 8134

1樓:

void fun(char *tt, int pp)

在主函式中,aa存放的是字元吧,然後aa給char *tt,bb給int pp,

所以你這裡錯誤了:for (i=0;tt[i]=!'\0';i++)

if(tt[i]>='a'&&tt[i]<='z') pp[tt[i]-'a']+=1;

你應該改為:if(*tt[i]>='a'&&*tt[i]<='z') pp[*tt[i]-'a']+=1

你上面寫的是錯誤的,你沒有取元素,而是直接比較的,因為tt是指標,也就是地址,你用地址和字元比較?加星號(*)表示取該地址中的元素,那就正確了。你要理解指標的含義是什麼,它是地址,不是元素。

2樓:倒黴熊

for (i=0;tt[i]=!'\0';i++)

修改為for (i=0;tt[i] !='\0';i++)

應該是你寫忙了。

3樓:

*tt是個指標,你直接呼叫方法不對

一個C語言的題目,一個c語言題目

include main if sum i printf i 鑑於lz說還沒自學到for,那樣的話,應該也不會用函式,陣列之類的東西,所以只能寫的這麼複雜了。include int main i 1 if sum n 判斷是否是完數,是則列印。printf n sum 0 return 0 執行結果...

C語言中的標頭檔案可以自己寫嗎,C語言如何寫標頭檔案?

標頭檔案幾個好處 1,標頭檔案可以定義所用的函式列表,方便查閱你可以呼叫的函式 2,標頭檔案可以定義很多巨集定義,就是一些全域性靜態變數的定義,在這樣的情況下,只要修改標頭檔案的內容,程式就可以做相應的修改,不用親自跑到繁瑣的 內去搜尋。3,標頭檔案只是宣告,不佔記憶體空間,要知道其執行過程,要看你...

c語言迴圈題目中的一點問題,C語言迴圈題目中的一點問題

第一個 include main printf s d s 第二個 include main printf s g n s 如果的你的編譯器不支援漢語就把它改成別的我編譯了一下沒問題 這類問題用for迴圈一次一次迴圈 第一個 include main printf sum d n sum 第二個 i...