#scanfって
僕のイメージのscanfは自由に数字や文字を入れてくださいというものでしょうかね。
scanfを使うときは(数字,&宣言した名前)となっています。
&はアドレスを参照してる感じですね。
あなたが作った箱の中身は?って感じですね。
しかし、文字の場合は&使いません。
事前にchar[100]と書いてるのはcharは一文字ずつ読み込むので1文字1バイトとして100バイト使えるんですね。
scanfだと特に制限なしで読み込んじゃいます。
%sを使っているのですがこちらは文字列で受け取る。(ちなみに%Cは1文字受け取るですね。)という形にしないと文字出力できませんね。
もし、%10sにすると10バイトだけ読み込むことになるのかな。
ひらがなだと1文字2バイトなので%10sだと5文字受け取ることになるでしょうね。
ぐだぐだ言ってないでプログラムを書いていきましょうか。
#include<stdio.h>
int main(void){
int aa, bb, cc, dd, ee, ff, gg;
char moji[100];
puts("君が好きな数字を1つ書て改行してもう一つ数字をかいて、そのあとに改行して好きな言葉いれてね。");
scanf("%d", &aa);
scanf("%d", &bb);
scanf("%10s",moji);
cc = aa + bb;
dd = aa - bb;
ee = aa * bb;
ff = aa / bb;
gg = aa % bb;
puts("");
puts("じゃあそれを使って計算するよ");
printf("aa + bb の値は%dですね \n", cc);
printf("aa - bb の値は%dですね \n", dd);
printf("aa * bb の値は%dですね \n", ee);
printf("aa / bb の値は%dですね \n", ff);
printf("aa %% bbの値は%dですね \n", gg);
puts("最後に言い残す言葉は");
printf(moji);
return 0;
}
これをコンパイルしてみましょう。
ってな出力が出てきました!
文字や数字を格納する方法や容量の制限などいろいろできるので触ってみると勉強になりそうですね。
ちなみに%は余りって意味です。%%二つ使ってるのは出力にも%という記号を出したくてなっています。
自分なりのscanfを使った復習でした^^