変数へキーボードから値を代入する


scanf()命令を使うことで,変数へ,キーボードから値を代入することが出来る。

  1. scanf()命令を使うことで,キーボードから直接,変数に値を代入することが出来る。
    int型変数に値を入れるときには,次のようにする。変数名の前に&をつけることに注意
     
     scanf( "%d", &int型変数名 ); 
     


  2. では,実際に使ってみよう。次のプログラムを実行すると,a=> と表示されるので,aへ代入する整数値を
    キーボードからタイプする。次に b=> と表示されるので,同じくbへ代入する整数値をタイプする。すると,
    aとbの足し算の結果が表示される。
    #include <stdio.h>
    
    int main( void ) {
      int a = 0, b = 0; /* int型の変数aとbを宣言する */
    
      printf( "a =>" );
      scanf( "%d", &a ); /* 変数aに整数値を入れる */
      printf( "b =>" );
      scanf( "%d", &b ); /* 変数bに整数値を入れる */
      
      printf( "%d + %d = %d¥n", a, b, a+b ); /* aとbの足し算の結果を表示する */
      return 0;
    }
    ※Visual Studio の新しいバージョンでは, C言語標準の scanf( ) はセキュリティホールの元になりやすいという理由で, そのままでは scanf( ) を利用でき
     ないようになっており,そのままではエラーになる。その場合, Visual C++ に用意されている scanf_s( ) 命令をかわりに使えば良い。scanf_s( ) 命令は
     C言語標準の scanf( ) と同じ様に使う事ができる。
    ※また,Visual Studio のコンソールプリケーションプロジェクトで scanf( ) (scanf_s( )) を使う場合,プログラムがすぐに終了することを防ぐための getchar( )
     は2回呼び出すこと
    。1回だけだとすぐにプログラムは終了してしまう。

    問題:int型の変数2つにキーボードから値を代入して,2つの数値のかけ算の結果を表示するプログラムを作れ。



    (参考:授業では扱わないdouble型の変数にキーボードから値を代入する方法
    double型変数にキーボードから値を入れるときには,次のようにする。変数名の前に&をつける
    ことに注意
    。また,double型では%dのかわりに%lfを使うことにも注意せよ

     
     scanf( "%lf", &double型変数名 ); 
     

    例:
    int main() {
      double d = 0.0;
    
      printf( "%g¥n", d );
      scanf( "%lf", &d );
      printf( "%g¥n", d );
    
      return 0;
    }