next up previous contents
Next: scanf 數值問題 Up: 格式化輸入輸出 Previous: scanf 輸入數字   Contents

scanf 字元字串輸入

  1. 字元實例:輸入一個字元,列印此字元及其 ACSII code。
    [dywang@dyw219 zzz]$ vim fstdio5.c
    [dywang@dyw219 zzz]$ cat fstdio5.c
    #include <stdio.h>
    
    main() {
    	char a;
    	printf("Enter a character: ");
    	scanf("%c", &a);
    	printf("char=%c\tASCII code=%d\n", a, a);
    }
    
  2. 編譯成功
    [dywang@dyw219 zzz]$ gcc -o fstdio5 fstdio5.c
    
  3. 執行結果
    [dywang@dyw219 zzz]$ ./fstdio5
    Enter a character: H
    char=H	ASCII code=72
    
  4. 字串實例:輸入你的 IP
    [dywang@dyw219 zzz]$ vim fstdio6.c
    [dywang@dyw219 zzz]$ cat fstdio6.c 
    #include <stdio.h>
    
    main() {
    	char a[20];
    	printf("Enter your ip: ");
    	scanf("%s", &a);
    	printf("Your IP: %s\n", a);
    }
    
  5. 編譯成功
    [dywang@dyw219 zzz]$ gcc -o fstdio6 fstdio6.c
    
  6. 執行結果
    [dywang@dyw219 zzz]$ ./fstdio6
    Enter your ip: 192.168.1.140
    Your IP: 192.168.1.140
    
  7. 宣告 a 為長度 20 的字元陣列,若輸入等於或超過 20 個字元,結果如何?
    	char a[20];
    



De-Yu Wang 2019-08-14