プログラミング、C言語について質問です!
※例えばこのようなforがあったとします。
今まで使っていたfor文では比較演算子?!があったのですが↓
for(i=0;src[i]==5;i++)
for(i=0;src[i];i++)
このように比較演算子?!がないものを目にしましたが、意味が理解できません。
ちなみに独学のまだプログラミング初心者です。
より詳しく初心者にもわかるように説明できる方おられましたらよろしくお願いしますm(_ _)m
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
「0以外は真」というのは、厳密に言えば間違い。
i < 5 といった条件式の場合、結果はTrue(真)又はFalse(偽)の何れかのみです。
#言語等により異なる場合が有りますが、一般的には、False の値として 0、True
#の値として 1 又は -1 が使われます。
条件として数値を使う場合には、値が 0の時をFalseとし、それ以外を「False
ではない」→「True(真)」として扱う事が良く有ります。
No.3
- 回答日時:
No.1です。
> これはC言語では決まりみたいなものですか?(「0以外は真」というのは)
> ※0という数字がないので
その様に考えていただいて構わないと思います。
C言語の入門書や入門サイトをみてみれば if文のあたりで説明があると思いますよ。
たとえば↓です。
C言語入門
http://program-lecture.info/c_if2.html
No.2
- 回答日時:
C言語では
for(式1;式2;式3) {
処理
}
は
{
式1;
whie(式2) {
処理
式3;
}
}
とほぼ同じ(処理でcontinueが使われたときに差が出る)
というのが1点
比較演算子は、「条件が成立してたら1、そうでないないなら0」という「計算」をする演算子である
というのが1点
if,for,while等で
「条件式が真ならば」
というときには、実は
「式を計算した結果が 0でないならば」
という処理をしている
というのが1点。
初心者向けの本では「条件式」とか書いてあったりするのですが、
より正確に言おうとすると、こうなってます。
> src[i]==5
==も比較演算子です。
> src[i]
は、「src[i]」という式の計算結果(すなわち、src[i]の値そのもの) で判定します。
これは
src[i] != 0
と同等です。
No.1
- 回答日時:
for文は( )内の2番目に書かれた条件が真の間だけループします。
> for(i=0;src[i]==5;i++)
src[0],src[1],……と変化していきsrc[i]の値が5の間ループします。
src[0] の値 5
src[1] の値 5
src[2] の値 5 ←ここまでループ
src[3] の値 4
> for(i=0;src[i];i++)
src[0],src[1],……と変化していきsrc[i]の値が0以外の間ループします。
C言語では、値0は 偽 となり、値0以外は 真 となります。
src[0] の値 1
src[1] の値 2
src[2] の値 3 ←ここまでループ
src[3] の値 0
分かりやすい回答ありがとうございますm(_ _)m
これはC言語では決まりみたいなものですか?(「0以外は真」というのは)
※0という数字がないので
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonでこのプログラミングを作成するには 2 2022/10/25 21:19
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# 画像の画素値を変えるC言語のプログラムで指定された画像の中に白い三角形を右上に表示させるにはどのよう 3 2022/10/30 01:16
- その他(プログラミング・Web制作) Pythonでこのプログラミングを作りたいのですが 1 2022/10/24 18:56
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- 英語 Is to play soccer fun for you? は、正しい英文ですか? 1 2023/05/08 12:37
- TOEFL・TOEIC・英語検定 この for ってどういう意味ですか? 1 2022/11/11 11:41
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 exitの使い方
-
Excel-vba 文字列と変数を...
-
フォームを開くときに、コンボ...
-
数字の位ごとの値を表示するプ...
-
VBAで配列のNULL判定
-
VB6.0-整数と余りを求める
-
足して100になるような乱数のア...
-
VBAでC列が入力済みならそのま...
-
1つ前の値を変数に保存する方法
-
Nullってどういう意味ですか?
-
c++ 二体問題のソースコードを...
-
VBAのチェックボックス結果を集...
-
VBAの定数の使い方で、計算値を...
-
C言語でCLAMP(a,b,c)
-
C#の問題で2つの整数a,bの...
-
C言語 乱数を階級分け
-
VBAで72時間タイマーがオーバー...
-
世界のナベアツ
-
ラジオボタンの値の取得につい...
-
c言語で乱数を扱うときの
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
Excel-vba 文字列と変数を...
-
数字の位ごとの値を表示するプ...
-
VB6.0-整数と余りを求める
-
VBAで配列のNULL判定
-
足して100になるような乱数のア...
-
フリーランタイマーの時間差分...
-
DataGridView 複数行同時変更...
-
相関係数p値の出し方
-
世界のナベアツ
-
10進数をアスキーコードに変換
-
C#で動的にコントロールを取得...
-
ラジオボタンの値の取得につい...
-
DWORDって
-
バッチファイルで正規表現を使...
-
4択問題のプログラムでランダム...
-
1つ前の値を変数に保存する方法
-
VBAの定数の使い方で、計算値を...
-
コンボボックスの名前を変数に...
おすすめ情報