
文字列を入力し、文字列中のアルファベット小文字を取り除いて表示するプログラムだと思いますが、str[j++]の意味がよくわかりません。
教えてください。
char str[100];
int i, j;
scanf( "%s", str );
for( i = 0, j = 0 ; str[i] != 0 ; i++ )
{
if( ! ( 'a' <= str[i] && str[i] <= 'z' ) )
str[j++] = str[i];
}
str[j] = 0;
printf( "%s", str );
No.2ベストアンサー
- 回答日時:
>str[j++] = str[i];
str[j] = str[i];
j = j + 1;
と同じだけど、これでわかりますか?
小文字じゃない時だけ文字のコピーして
コピー先のインデックスを進めてるだけ。
小文字を取り除いて前へ詰めてゆく
処理してます。
No.1
- 回答日時:
イクリメント演算子と言います
例えば上の例で言うと、スタート時点でj=0ですね
if文の判定結果でTRUE時にstr文字列変数に代入します jの位置に(スタート直後はゼロ)
でインクリメント演算子は処理の実行後に変数値を加算します
インクリメント演算子には、[++]と[--]の2種類あり
[--]なら減算を行う
更には、変数の前に置くパターンもあり
(例えば、 ++j のようなケース)
この場合は、代入する処理の前に値を加算する
と言ったような色々な使い方が可能です
まずは、インクリメント演算子で調べて見よう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
fgets関数を使用したときの文字...
-
C言語 空白の行(改行のみ)が...
-
反転した数値を表示させるやり方
-
CStringのFindで文字列検索を行...
-
fgetsで拾われる改行文字を削除...
-
C言語のステップ数をカウントす...
-
教えていただけませんか?C言語...
-
文字列中に含まれる文字の個数...
-
atoiでの文字列以外のエラー処...
-
「Aに対するBの割合」と「Aに対...
-
Aの値からBの値を除するとは??
-
C言語のfor文です。 繰り返しの...
-
Enterキーを押されたら次の処理...
-
複数桁10進数の*桁目だけを抽出...
-
有効数字について 以前質問をし...
-
信頼区間の1.96や1.65ってどこ...
-
プログラムでの数字につく”f”の...
-
エクセルで可視セルにのみ値貼...
-
DWORDの実際の型は何でしょうか
-
C言語での引数の省略方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fgets関数を使用したときの文字...
-
sscanfとscanfの違いがよくわか...
-
fgetsで拾われる改行文字を削除...
-
CStringのFindで文字列検索を行...
-
charと%c , %s の関係について
-
C言語のステップ数をカウントす...
-
反転した数値を表示させるやり方
-
C言語 空白の行(改行のみ)が...
-
Cで「大文字、小文字の判定」は...
-
putsとputcharの違い?
-
1行の文字列を時間差で表示する...
-
C言語 strlen 再入力を促す
-
str[j++]の意味
-
C言語の初心者です。これを実行...
-
C言語、単語ごとに改行したい
-
C言語:配列の中の文字を。。。
-
gets fgetsについて
-
プログラムのことで
-
文字列の操作
-
エディットボックスに入力され...
おすすめ情報