【发布时间】:2016-11-23 13:46:33
【问题描述】:
我是 C 新手,我在 C 中找到了 1 个用于结束 while 循环的论坛,但该论坛并没有真正帮助,因为它仍然无法正常工作。它给了我一个“预期的;中断前”或“int keep_playing=4”来结束循环。这是一个简单的石头剪刀布游戏,我只是在循环工作,很快就会担心逻辑部分。这是我的代码。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
printf("Welcome to rock paper scissors!\n");
int keep_playing=5;
while (keep_playing==5)
printf("Press 'y' to play or 'n' to quit: ");
char playornot;
scanf("%c\n",&playornot);
if (playornot=='y')
printf("Ok.\n");
else (playornot=='y')
int keep_playing=4;
return 0;
}
【问题讨论】:
-
你没有大括号让阅读真的很痛苦。没有大括号的循环只考虑循环声明之后的第一条语句,除非您使用逗号(请不要使用逗号)。由于缩进具有误导性,因此很难说出您的意图是什么。就目前而言,您的程序应该向您发送垃圾邮件“printf(”按'y'播放或'n'退出:“);”因为这是 while 循环看到的唯一语句。
-
你可以使用"break"来结束一个while循环,而不是改变一个变量的值
-
你应该使用
else if (playornot=='y')。 -
另外,循环不需要 "keep_playing" 变量。您可以简单地使用
while (playornot == 'y')并在 while 循环外声明char playornot;
标签: c