| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2310 人关注过本帖
标题:scanf命令什么时候失效?
取消只看楼主 加入收藏
hu289363109
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-4-15
收藏
 问题点数:0 回复次数:4 
scanf命令什么时候失效?
main()
{char choice;
 loop:
 printf("\nwhat do u want:\nc for creat    i for insert    d for del     q    for  exit \n");
 scanf("%c",&choice);
  switch(choice)
  {case 'c':
     printf("================creat=======================\n");
     break;
   case 'i':
     printf("================input========================\n");
     break;
   case 'd':
     printf("================del==========================\n");
     break;
   case 'q':
     exit(0);
   default:
     printf("================error========================\n");
  }
    goto loop;
 }
  运行的时候,总是多了两行
nwhat do u want:\nc for creat    i for insert    d for del     q    for  exit
================error========================


??????????????????????????

20081114185012687.png (34.73 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: scanf 命令 失效 
2008-11-14 18:53
hu289363109
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-4-15
收藏
得分:0 
谁能够给我解答一下吗
2008-11-14 18:57
hu289363109
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-4-15
收藏
得分:0 
问题已经解决了
在c语言中使用scanf()函数在键盘上接受字符型数据时,必须用fflush(stdin)这个来清楚上一次存储的数据,不然字符型数据不会正确的存储.
fflush()在库中 stdio.h
清除缓冲区中的内容
程序如下:
#include "stdio.h"
main()
{char choice;
 loop:
 printf("\nwhat do u want:\nc for creat    i for insert    d for del     q    for  exit \n");
 fflush(stdin);
 scanf("%c",&choice);
  switch(choice)
  {case 'c':
     printf("================creat=======================\n");
     break;
   case 'i':
     printf("================input========================\n");
     break;
   case 'd':
     printf("================del==========================\n");
     break;
   case 'q':
     exit(0);
   default:
     printf("================error========================\n");
  }
    goto loop;
 }

20081114191052609.png (12.08 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2008-11-14 19:24
hu289363109
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-4-15
收藏
得分:0 
谢谢各位哈
2008-11-14 19:28
hu289363109
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-4-15
收藏
得分:0 
ioriliao 能给我讲讲你的程序中德system("PAUSE")吗
system("PAUSE")
这个语句在goto loop之后的啊
怎么会执行到那里呢
那句话又有什么作用呢
我运行了的.是可以的

20081114193211656.png (1.79 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2008-11-14 19:35
快速回复:scanf命令什么时候失效?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019340 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved