2017-10-09 4 views
-1
#include<stdio.h> 
void main() 
{ 
    char str[]="OpenText"; 
    int i=0,strlen,count=0; 
    while(str[i]!='\0') 
    i++; 
    strlen=i; 

    for(i=0;i<strlen;i++) 
    { 
    if(str[i]=='T' || str[i]=='t') 
    { 
     count++; 
     str[i]=count; 
    } 
    } 
    printf("%s",str); 
} 

で文字列にTに置き換わる文字列オープンテキストの印刷Open1ex2を考えると、私は出力を得た:私は、所望の出力を得ていないのですOpenexはすなわち、tの数

は、私を助けてください。

私はあなたにカウント数を割り当てているときに問題がある、すなわちトン

+0

希望の出力が何であるかを推測していますか? – glennsl

+0

いいえ、私はOutput1としてOpen1ex2を取得したいと思います。 – Daniel

+0

'str [i] = count;'失敗します。数値!= ASCII表現。 '0 'にカウントを追加する –

答えて

0

の数と列にトンに置き換わる私は出力としてOpen1ex2を取得したい文字列を指定したオープンテキストの出力、すなわちとしてOpen1ex2を取得したいですStr [i]、整数を文字に変換していません。整数を文字に変換するために、カウントに '0'を追加するだけです。

#include<stdio.h> 
    void main() 
    { 
     char str[]="OpenText"; 
     int i=0,strlen,count=0; 
     while(str[i]!='\0') 
     i++; 
     strlen=i; 

     for(i=0;i<strlen;i++) 
     { 
     if(str[i]=='T' || str[i]=='t') 
     { 
      count++; 
      str[i] = '0' + count; // Only change to convert integer to character 
     } 
     } 
     printf("%s", str); 
    } 

乾杯!

+0

OPは "tttt_tttt_tttt" 'で入力が不明瞭です。これは' '0 '+ count'をオーバーフローさせるためです。 – chux

関連する問題