程序问题不少。
首先解释while循环,这就是一个无限循环,没有退出机制,退出需要强制退出。从逻辑上,接收键盘某个键,判断为退出程序是可以的。
其次,程序运行“卡”在那里(不进行下一次循环),是因为子函数中scanf在等待键盘输入,输入一个字符(并回车)程序会继续,但这个语句写的有问题,会死机。正确写法是:
scanf("%c", &inchar) //inchar加上地址符不过即使修改了死机问题,这个程序距离图中要求还差很远。无论是界面刷新机制、键盘接收机制还是控制机制,在纯控制台程序下解决都是很麻烦的。一般建议这样的程序用图形界面完成(比如MFC单文档)、并使用定时器(或线程)来完成控制机制。
第一个while(i>100)的循环条件应该是i<100,而不是i>100这样i从0开始,才能在执行100次循环后自增为100,然后跳出循环
如果是while(i>100),第一次循环后i=1,不满足1>100,直接就跳出while了
还有第二个while(a%7==0||i>=100)该语句没必要用while吧?如果满足while条件的话,程序就死循环在while中了,改成直接用if判断一下就好:
if (a%7==0 || i>=100)
printf("游戏结束,都是大佬!\n")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)