一个C程序的问题!#include<stdio.h>
#include #include int main(int argc, char *argv[]) { int a=10,b;char flang ; printf("\n 绿灯亮,车等等先!"); do{ printf(" \n 输入: "); scanf("%c",&flang); printf("\n****还要等%d秒****\n",--a); if(a==0)break; }whi#
这个是因为你在Scanf那里要输入一个字符赋给flang。要回车,对不起这个回车被缓存给作为下次scanf的输入值,这就是为什么看上去执行两次。要对他不执行两次,一是选择其他的字符输入函数如getch()(这不回显)等,二,用条件控制回车键和Scanf的输入。反正有很多方法。 给一个改正: 头上加一个#include "string.h" scanf("%c",&flang)==>flang=getchar();(输入一个字符就执行下一步,回车都省了,不专业的说话,呵呵。)