すなわち main関数内で定義された変数aの格納している値を自作関数を経由して変更することができます
🌞🌞変数aに格納されている数値データと変数bに格納されている数値データの交換にチャレンジしてみよう
ソーラー「はあ はあっ
僕はまだまだやっちゃうよ~」
#include <stdio.h>
int main(void){
int a=1;
int b=2;
printf("変数aに格納されている数値データは%dです\n",a);
printf("変数bに格納されている数値データは%dです\n",b);
return 0;
}
コンパイル結果
変数aに格納されている数値データは1です
変数bに格納されている数値データは2です
ソーラー「はは どうかな みんな?
この高度なプログゥラミングゥゥゥ~~~
この芸術性!
しびれたかな😊」
アレサ「はい しびれましたですの💖
高度なプログラミングです」
ソーラー「われながらほれぼれするほどの出来栄えだね。
今日はこの高度なプログラミングに手を加えてみようと思うんだ」
アレサ「ま、まさか
この高級感溢れる洗練されたプログラミングに
手を加えようとされているのですか?
それは・・・
あまりにも革新的な・・・」
ソーラー「ふふ その革新的なプログラミングを
今 まさに行おうと思っているんだ。
このプログラムでは
変数aには1が
変数bには2が
格納されているね。
だから
printf("変数aに格納されている数値データは%dです\n",a);
printf("変数bに格納されている数値データは%dです\n",b);
が実行されると
コンパイル結果
変数aに格納されている数値データは1です
変数bに格納されている数値データは2です
が表示されるんだね
これを
printf("変数aに格納されている数値データは%dです\n",a);
printf("変数bに格納されている数値データは%dです\n",b);
が実行されると
コンパイル結果
変数aに格納されている数値データは2です
変数bに格納されている数値データは1です
が表示されるようプログラムを変更しようというわけなんだ
もちろん
int a=1;
int b=2;
をおこなった💖後💖💖でね。
int a=1;
int b=2;
をおこなった💖後💖💖で
例えば
a=2;
b=1;
を実行すれば
printf("変数aに格納されている数値データは%dです\n",a);
printf("変数bに格納されている数値データは%dです\n",b);
が実行されると
コンパイル結果
変数aに格納されている数値データは2です
変数bに格納されている数値データは1です
が表示されるけど
さすがにその方法は無いかな
ふつうのことだからね。
他の方法はないかな?。。
どうしようかな~」
アレサ「つまり
int a=1;
int b=2;
が行われると
変数aには1が
変数bには2が
格納されているのですが
なんらかの操作を加えて
変数aには2が
変数bには1が
格納されるている状態にしたいというわけなのですね。
そんなことを考えておられるとは・・・」
ソーラー「そうさ
そのプログラムはこうだ」
アレサ「!?」
#include <stdio.h>
int main(void){
int a=1;
int b=2;
printf("変数aに格納されている数値データは%dです\n",a);
printf("変数bに格納されている数値データは%dです\n",b);
int c;
int d;
c=a;
d=b;
a=d;
b=c;
printf("変数aに格納されている数値データは%dです\n",a);
printf("変数bに格納されている数値データは%dです\n",b);
return 0;
}
コンパイル結果
変数aに格納されている数値データは1です
変数bに格納されている数値データは2です
変数aに格納されている数値データは2です
変数bに格納されている数値データは1です
アレサ「こ、これは・・・」
ソーラー「はは どうだい アレサ
このプログラムでは
c=a;
d=b;
を実行することにより
変数cに変数aが格納している数値データ1を
変数dに変数bが格納している数値データ2を
渡しているんだ
だから
c=1;
d=2;
が行われているのに等しいんだ。
変数cが格納している数値データは1で
変数dが格納している数値データは2
なので
a=d;
b=c;
を実行すれば
a=2;
b=1;
が実行されることになり
変数aが格納している数値データは2で
変数bが格納している数値データは1
となるんだ。
つまり
変数aが格納している数値データと
変数bが格納している数値データが
入れ替わったことになるんだ 」
solarplexuss「
普通に
a=2;
b=1;
を実行すればいいんじゃないかという気が・・・」
アレサ「簡単に
変数aが格納している数値データと
変数bが格納している数値データが
いれかわっています・・・」
ソーラー「さらに次のようなプログラムでも
変数aが格納している数値データと
変数bが格納している数値データを入れ替えることができるんだよ。
#include <stdio.h>
int main(void){
int a=1;
int b=2;
printf("変数aに格納されている数値データは%dです\n",a);
printf("変数bに格納されている数値データは%dです\n",b);
int c;
c=a;
a=b;
b=c;
printf("変数aに格納されている数値データは%dです\n",a);
printf("変数bに格納されている数値データは%dです\n",b);
return 0;
}
コンパイル結果
変数aに格納されている数値データは1です
変数bに格納されている数値データは2です
変数aに格納されている数値データは2です
変数bに格納されている数値データは1です
ソーラー「どうかな(´▽`*)」
アレサ「(*´▽`*)すばらしいですの」
ソーラー「このプログラムでは
int a=1;
int b=2;
が行われているので
最初に
変数aに格納されている数値データは1
で
変数bに格納されている数値データは2
だね。
次は
int c;
を実行して
c=a;
を実行することにより
変数aに格納されている数値データ1を
変数cに渡しているんだ。
その次に
a=b;
を行うと
変数bが格納している数値データは2なので
変数aに格納されている数値データは1から2になります。
そして
b=c;
が実行されると
変数cが格納している数値データは1なので
変数bに格納されている数値データは2から1になります。
つまり
変数aに格納されている数値データは2
変数bに格納されている数値データは1
変数cに格納されている数値データは1
となって
変数aに格納されている数値データと
変数bに格納されている数値データが
いれかわるんだ(^_-)-☆」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます