[← 演習のページへ戻る]
サンプルプログラム 1 の内容1: #include <stdio.h> 2: 3: int main(void){ 4: int a, b; 5: printf("二つの整数を入力してください:"); 6: scanf("%d %d", &a, &b); 7: 8: printf("a = %d\n", a); 9: printf("b = %d\n", b); 10: printf("a + b = %d \n", a + b); 11: 12: return 0; 13: } 6 行目:scanf("%d %d", &a, &b);1: #include <stdio.h> 2: 3: int main(void){ 4: int a, b; 5: printf("二つの整数を入力してください:"); 6: scanf("%d %d", &a, &b); 7: 8: printf("a = %d\n", a); 9: printf("b = %d\n", b); 10: printf("a + b = %d \n", a + b); 11: 12: return 0; 13: }前回学んだように,scanf による整数の読み込みでは書式を "%d" と指定しておいて, その後にカンマで区切って, 代入先の変数名の前に & を付けて &a というかたちで書けば良いことになります. つまり,scanf("%d", &a); ということです. 今回は,二つの整数を読み込むことになります. もちろん scanf 関数を 2 回書いてもよいのですが,ここでは一つにまとめて書く方法を紹介します. ポイントになるのはダブルクォーテーション(")で囲まれた書式指定部分です. サンプルプログラムでは scanf("%d %d", &a, &b); と書いてあります. %d が整数に対応するのですが,この場合は 二つの %d が空白(半角スペース)を挟んで書いてあるので 整数 整数 というかたちで入力するという意味になります. ※ は半角スペースを意味します.例えば 57 12 といったかたちです. ちなみに,半角スペースの代わりにカンマ(,)を指定した場合は,カンマ区切りで整数を入力することになります. つまり,scanf("%d,%d", &a, &b); と指定した場合は 57,12 といったかたちです. ※よくあるミス:半角スペースではなく(その直前に日本語を入力していたために)誤って全角スペースをプログラム中に指定してしまうことがあります. scanf("%d %d", &a, &b); こう書いてしまうと,実行の際にわざわざ整数と整数の間に全角スペースを入れないとうまく動かないことになります. |