文字列内の各文字の出現回数をカウントし、各文字の 1 つに続いてその文字のカウントを出力するプログラムを書きたかったのです。
例えば:
aabbcccd
- 2 a
、 2 b
、 3 c
、および 1 があるd
したがって、これを次のように変換して印刷したいと思います。
a2b2c3d1
このカウント/変換を実行するコード (以下を参照) を書きましたが、何らかの理由で出力が表示されません。
#include<stdio.h>
main()
{
char array[]="aabbcccd";
char type,*count,*cp=array;
while(cp!='\0'){
type=*cp;
cp++;
count=cp;
int c;
for(c=1;*cp==type;c++,cp++);
*count='0'+c;
}
count++;
*count='\0';
printf("%s",array);
}
からの出力が表示されない理由を理解できる人はいますprintf()
か?