###わからないこと
次のような HelloWorld のHelloとWorldの間にハイフンを2つ挿入するプログラムを書きました.以下のソースコードを実行すると
(出力)Hello--World!
となって,期待どおりの結果になります.
ソースコードをコメントアウトしてる部分に置き換えると,
(出力)Hell-W
となってしまいます.
この時の変数jの増えるタイミングがいまいちわからないのですが,どうなっているのでしょうか?
C
1#include <stdio.h> 2#include <string.h> 3 4int main(void) { 5 int i, j= 0; 6 char str[128] = "HelloWorld!"; 7 char ins[256] = {0}; 8 9 for (i=0; i<(int)strlen(str); i++) { 10 if (i != 5) { 11 ins[j] = str[i]; 12 j++; 13 } else { 14 15 ins[j] = '-'; 16 ins[++j] = '-'; 17 ins[++j] = str[i]; 18 j++; 19 20 /*これだとうまくいかない... 21 ins[j] = '-'; 22 ins[j++] = '-'; 23 ins[j++] = str[i]; 24 j++; 25 */ 26 } 27 } 28 printf("%s\n%s\n", str, ins); 29 return 0; 30}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。