next up previous contents
Next: scanf 字元字串輸入 Up: 格式化輸入輸出 Previous: scanf 函式   Contents

scanf 輸入數字

  1. 整數實例:輸入兩個整數,輸出兩個數字相乘的結果。
    [dywang@dyw219 zzz]$ vim fstdio3.c
    [dywang@dyw219 zzz]$ cat fstdio3.c 
    #include <stdio.h>
    
    main() {
    	int a, b;
    	printf("Enter TWO integers:\n");
    	scanf("%d %d", &a, &b);
    	printf("%d * %d = %d\n", a, b, a*b);
    }
    
  2. 編譯成功
    [dywang@dyw219 zzz]$ gcc -o fstdio3 fstdio3.c
    
  3. 執行結果
    [dywang@dyw219 zzz]$ ./fstdio3
    Enter TWO integers:
    12 -9
    12 * -9 = -108
    
  4. 若程式 scanf 函式中的變數,遺漏 & 運算子會有什麼結果?
    	scanf("%d %d", a, b);
    
  5. 浮點數實例:以「小數點」及「指數」兩種方式輸入兩個浮點數,輸出兩個數字相乘的結果。
    [dywang@dyw219 zzz]$ vim fstdio4.c
    [dywang@dyw219 zzz]$ cat fstdio4.c
    #include <stdio.h>
    
    main() {
    	float a, b;
    	printf("Input TWO floats: %%f %%e\n");
    	scanf("%f %e", &a, &b);
    	printf("%f * %e = %e\n", a, b, a*b);
    }
    [dywang@dyw219 zzz]$ ./fstdio4
    \item 編譯成功
    \begin{myverbatim}
    [dywang@dyw219 zzz]$ gcc -o fstdio4 fstdio4.c
    
  6. 執行結果
    Input TWO floats: %f %e
    3.2345 1.28e3
    3.234500 * 1.280000e+03 = 4.140160e+03
    
  7. 若程式 scanf 函式中兩個變數輸入要以逗號「,」隔開,如何修改以下程式?
    	scanf("%f %e", a, b);
    



De-Yu Wang 2019-06-27