この章では陽気なscanfお蛇さん🐍と いっしょに scanf関数の性質をしらべてみましょう

新種の蛇 scanf 

ああ~今日もいい天気だね。


うぃ~


ぼちぼちと大草原を散歩してみますか?


何か いいものが落ちているかもしれない(´▽`*)


ソーラーの家のまわりには大草原がひろがっている。


とことこ・・・


瑞瑞しい草があたり一面に生えている。


いやあ、いい気分だなあ~


とことこ・・・    とことこ・・・


お日様は暖かく大地を照らし、さわやかな風があたりを吹き抜ける。


ふふっ なんか妖精でも・・・出そうだね。


とことこ・・・


とっとこ・・・


おやあ・・・?


草むらの中から何か見えている・・・


何かある・・・


草むらから引っ張り出してみると・・・


それは1つの文字列がきざまれたお蛇ちゃんだった。


文字列はscanf


fが書かれているしっぽの方をつかんでいるので


だらんと手元からscanfお蛇がぶらさがっている。


大きさはツチノコ?ぐらい


いがいと重い・・


ソーラー 「なんだっこれは~~~?


新種の蛇か?家にもってかえろっと!・・・」


いいものみつけたな・・・


ぱちっ


なんだ・・・?


新種の蛇scanf 「ぴぴぴ・・・」


なんと


新種の蛇scanf  「お賽銭を・・・」


ソーラー 「なに? なになに?」


新種の蛇scanf  「お賽銭を・・・」


ソーラー 「なに、大丈夫かい?」


新種の蛇scanf  「お賽銭を入力してください」


ソーラー 「出っ端からいきなりボケてきたんか~い!」


新種の蛇scanf  「入力しないとなにもでてこないんだよ。


10000でいいから・・・はい




_



_の部分に半角英数字でお賽銭を入力してね(💖)


元気モリモリになるんだ、僕」


ソーラー 「高いよ・・・・


ははあ、お賽銭をいれてくれる人がいないので


それで道端でぐったりしてたわけなんだ・・・」


新種の蛇scanf


「1. . . . .1でもいいんですよ・・・」


ソーラー 「よ~し、じゃあ 


奮発して


_の部分に10000円をうちこんでみるっと




ポチポチ  カタッ




10000円




新種の蛇scanf  「がくっ」


力尽きる彼。


ソーラー 「な~~~~んなんだ~~~~~~。


WHY?


家にもってかえってアレサと一緒に検証してみようか?・・・」


よいしょっと背中に背負って草原の小道を家へと向かう。


ソーラーハウスの木の扉をあけると


アレサにむかって景気よく声をかける。


ソーラー 「大漁じゃ。大漁じゃ~い」


テーブルの上にどすんとscanf お蛇を放り投げる。


アレサ「どうされました。ソーラーさん。」


ソーラー 「どう、珍しいでしょ。道端で見つけたんだ。」


アレサ「まあ、なんですか?」


二人で

表面をじっくり観察してみる。蛇らしく てかてかしている。


さわるとニシキヘビのような質感がする。


ソーラー 「アレサ、どう思う?」


アレサ 「これは新種の蛇でなく C言語の関数の一つ scanf関数ですね。」


ソーラー


( アレサの鑑定結果によると新種の蛇ではないようだ。


ではなぜ、ここ理想郷に・・・


おそらく 私たち(読者を含む)の理想をかなえるために


C言語の世界から引き寄せられてきたのか・・・)



アレサ「いかがされます? ソーラーさん」


ソーラー 「とりあえず、どのような仕組みか調べてみないと・・・」


アレサ 「解体してみますか?」


新種の蛇scanf  「ぴっ 復帰しました。」


ソーラー、アレサ 「おおっ」


新種の蛇scanf  「みなさん、ただいま ご紹介に預かりました。


C言語のscanf関数です。 よろしくね」


ソーラー 「scanf関数・・・


C言語において


こちらからコマンドプロンプト画面に打ち込んだ数値を受け取り


コンピュータのメモリに格納する関数・・・


君がscanf関数だったんだ・・・


君にあいたかったよ・・・」


新種の蛇scanf  「僕もここにくるまで大分かかったよ。


草原までやっときたよ。


お会いできて嬉しい。」


ソーラー「さあ、その本当の姿をみせておくれ。 scanf 」


アレサ 「ごくっ」


新種の蛇scanfの体が輝きだす。


新種の蛇scanf 「みょ~んん。」


新種の蛇scanf が空間に展開されていく。


ソーラー 「さあ、光臨せよ。C言語のscanf関数、


我等とともに歩む


その尊き姿をわれらの前に顕し給え。」


新種の蛇scanf 「でろでろり~ん」


どどどどどっ ぷっつん


#include <stdio.h>


int main(void){

int n;

printf("何か数値を入力してください。\n");

scanf ("%d",&n);

printf("入力した数値は%dです。\n",n);

return 0;

}


ソーラー 「おおおっついにきたか!」



(´▽`*)(*´▽`*)(´▽`*)(*´▽`*)(´▽`*)(*´▽`*)


マイクロソフト社の統合開発環境Visual Studioを


お使いの方は以下のプログラムのように


scanfでなくscanf_sと記入してください。

👇

#include <stdio.h>


int main(void){

int n;

printf("何か数値を入力してください。\n");

scanf_s("%d",&n);/*👈ここです*/

printf("入力した数値は%dです。\n",n);

return 0;

}



scanf _sを


scanfと記述してしまうと


ビルドエラーが出てしまいプログラムを実行できません。


scanf_s関数は


マイクロソフト社によってscanf関数の機能を強化した


独自の優れた関数であり

(本当に優れています💖素晴らしいです)


Visual Studioでは通常scanf関数でなくscanf_s関数のみが


プログラムに使えます。


どうしても


Visual Studioでscanf関数を使いたいという方は


次のプログラムのように


#pragma warning(disable: 4996)をソースコードの先頭にかきこめば


Visual Studioでもscanf関数が使えるようになります。



#pragma warning(disable: 4996)👈ここです


#include <stdio.h>


int main(void) {

int n;

printf("何か数値を入力してください。\n");

scanf("%d", &n);

printf("入力した数値は%dです。\n", n);

return 0;

}








逆に他社製のコンパイラをお使いの方は


scanf_s関数は使えません。


scanf_sでなくscanfとソースコードに記述してください


では


scanf関数とscanf_s関数の機能の違いとは何でしょうか?


気になりますね。


その違いは


scanf関数とscanf_s関数の機能の違いとは何でしょうか


のエピソードでお知らせいたします


お楽しみに!








  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます