例えば2つの値を入れ替えるswap関数で
――――――――――――――――――――――――
void swap (int x, int y)
{
int tmp;
tmp = x;
x = y;
y = tmp;
}
int num1 = 5;
int num2 = 10;
cout << "num1の値は" << num1 << "です\n";
cout << "num2の値は" << num2 << "です\n";
swap(num1, num2);
cout << "num1の値は" << num1 << "です\n";
cout << "num2の値は" << num2 << "です\n";
――――――――――――――――――――――――
というものが有りますが(実際はポインタを使わないと入れ替わらないようですが)、
この関数で仮引数に実引数5と10を渡し、関数内部のxとyに5と10を代入しますよね?
この時、5と10の値を渡すのは右辺のxとyであり、左辺のxとyには渡さないのでしょうか?
要するに
tmp = x;
x = y;
y = tmp;
の部分で5と10を渡すのは右辺のxとyであり、左辺のxとyには渡さず、左辺はそのままxとyのままなのでしょうか?
もし左辺のxとyにも5と10を渡すとなると、
5に10を代入し、10に5を代入する
という意味の分からないことになりますが。
詳しい方がいらっしゃいましたら、ご教授お願いいたします。
No.1ベストアンサー
- 回答日時:
C++言語の = は、等号という意味ではありません。
。。代入演算子ですので、右の「値」を左の「変数」に入れるという動作になります。
一行目は、tmpに 5 を代入。(x:5 y:10 tmp:5)
二行目は、xに10を代入(x:10 y:10 tmp:5)
三行目は、yに5を代入(x:10 y:5 tmp:5)
となります。
No.2
- 回答日時:
質問者様は「ある変数に値を代入する」記述仕様を理解していおられない・・・ということです。
学習に使用されている教科書等の最初の方の説明をよく読まれることです。
最初の方を「これくらいわかる」と軽く読み飛ばされたのでしょう。
で。
> tmp = x;
これは「変数tmpに変数xの値を入れる」という指示です。
> x = y;
同様に「変数xに変数yの値を入れる」という指示です。
> y = tmp;
同様に「変数yに変数tmpの値を入れる」という指示です。
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# C pointer? or... 2 2022/03/29 00:47
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C++ と、 1 2022/11/07 23:45
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
C言語 列挙型(enum型)変数について
-
「%」を使って、偶数か奇数かを...
-
[VBS]変数を定数に変換する方法...
-
テキストボックスの値を変数に...
-
整数xxxが大き過ぎますというエ...
-
Accessコンボボックスにレコー...
-
ExcelのVBAでをA列に第0〜19項...
-
EXCEL/VBA 変数の値をクリップ...
-
構造体からレコードセットへの代入
-
python の 連鎖代入の文法
-
変数にオフセットが付いている...
-
processing エラーで、 "cannot...
-
プログラミングで変数と関数の...
-
切り上げ
-
i++と++i ってどう違うのですか?
-
vba 最大値 条件分岐
-
インクリメント演算子の前置(+...
-
JavaScriptをURLから直接実行し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
EXCEL/VBA 変数の値をクリップ...
-
C言語 列挙型(enum型)変数について
-
テキストボックスの値を変数に...
-
Variant型で宣言してるのにEmpt...
-
[VBS]変数を定数に変換する方法...
-
python の 連鎖代入の文法
-
エラーの意味は? Lvalue req...
-
jsp~jspにhiddenを使って変数...
-
processing エラーで、 "cannot...
-
整数xxxが大き過ぎますというエ...
-
プログラミングで変数と関数の...
-
構造体からレコードセットへの代入
-
コマンドプロンプト バッチ|結...
-
stdpicture型の変数に、、
-
無名関数のメリットがよくわか...
-
i++と++i ってどう違うのですか?
-
DataTableの値を変数に代入したい
-
Accessコンボボックスにレコー...
-
VBA 1行で複数の代入を行った...
おすすめ情報