Chinaunix首页 | 论坛 | 博客
  • 博客访问: 200480
  • 博文数量: 70
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 865
  • 用 户 组: 普通用户
  • 注册时间: 2013-02-01 20:58
文章分类

全部博文(70)

文章存档

2015年(10)

2014年(15)

2013年(45)

我的朋友

分类: LINUX

2013-04-24 19:59:20

写程序时,当需要在标准输入端输入信息时,scanf 经常被使用到,但是一些细节需要注意

代码 一

点击(此处)折叠或打开

  1. //---------------------------------------
  2. //验证输入缓冲区回车对scanf的影响
  3. //---------------------------------------

  4. #include <stdio.h>

  5. int main(void)
  6. {
  7.     char ch1, ch2;
  8.     char buf[6];
  9.     int a, b;

  10.     printf("(int )a :\n");
  11.     scanf("%d", &a); // 用户输入完后,遗留一个回车符

  12.     printf("(char )buf[]:\n");
  13.     scanf("%s", buf); // 试探回车符对读取 “字符串” 的影响,输入完后又产生一个回车符
  14.     
  15.     printf("(char)ch1:\n");
  16.     scanf("%c", &ch1); // 试探回车符对读取 “字符” 的影响 输入完后又产生一个回车符

  17.     printf("(int)b :\n");
  18.     scanf("%d", &b); //试探回车符 对读取 “整数” 的影响 输入完后又产生一个回车符
  19.     
  20.     printf("(char)ch2 :\n");
  21.     scanf("%c", &ch2); //// 试探回车符对读取 “字符” 的影响 输入完后又产生一个回车符
  22.     

  23.     printf("a:%d", a);
  24.     printf("b:%d", b);
  25.     printf("ch1:%c", ch1);
  26.     printf("ch2:%c", ch2);
  27.     printf("buf:%s", buf);
  28.     

  29.     return 0;    
  30. }

运行结果 :

点击(此处)折叠或打开

  1. liu@liu-VM:~/work/myP$ ./a.out
  2. (int )a :
  3. 11
  4. (char )buf[]:
  5. abcdef
  6. (char)ch1:
  7. (int)b :
  8. 22
  9. (char)ch2 :
  10. a:11b:22ch1:
  11. ch2:
  12. buf:abcdef
  13. liu@liu-VM:~/work/myP$


阅读(1736) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~