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比較,而且不要刻意...