c語言的一道很簡單的題

時間 2021-07-01 01:14:21

1樓:匿名使用者

while((*tt++)!='\0')

在這裡不能直接用*tt++,因為你用這個的話,它是判斷之後就加到下一個了,所以這樣的話,第一個字元你是不能判斷的,所以總會少一個啊!!

應該這樣:

while(*tt!='\0')

2樓:匿名使用者

程式改寫成

#include

#include

void fun(char*tt,int pp) }main()

我只是改動了你的程式當中的fun函式當中的while(*tt!='\0')

這個部分

按照你之前所寫就是先改變了指標指向

然後賦值

這個是違揹你的意願的

改過之後就不會出現你所說的第一個字母少一的現象 咯咯

3樓:匿名使用者

while((*tt++)!='\0')

改為 while((*tt)!='\0')

4樓:匿名使用者

pp[(*tt)-97]++ 這裡的問題 你已經往下面跳了一個了 所以 頭一個數總會少一的 你第一個沒有被記錄到 你把tt++放在迴圈裡面去 在pp[(*tt)-97]++;之後應就沒有問題了

一道很簡單的C語言題

include include void main sum sum max min score sum n 2 printf 2f n score 太多了,看到就累! sum應在while迴圈中初始化,也就是說每次輸入前sum都必須清0 include include void main sum s...

很簡單的一道C語言題目

for迴圈有問題。是死迴圈,還有後面多了個分號。include void main printf d i 顯然就是for i 1 1 100 i 裡面的表示式2錯誤啦 把1 100改為i 100就行,下次不要這麼粗心大意啦 for i 1 1 100 i 改為 for i 1 i 100 i 正確如...

一道非常簡單的C語言題

min a i a i 1 min a i 如果a i a i 1 始終比較的是當前元素和上一個元素,這是最根本的錯誤,比如 3 2 4 3 這條語句的執行過程就是,min 2 4 2 min 2 3 4 min 3 最終結果,min 3 顯然是不對的。正確的是要始終跟當前的min比較,而且不要刻意...