首页 > 试题广场 >

重写以下程序,以使它表现相同的行为但不使用continue或

[问答题]
重写以下程序,以使它表现相同的行为但不使用continue或goto。
q
c
g
b
#include <stdio.h>
 int main (void)
 {
 char ch;
while ((ch = getchar())!= '#')
 {
 if (ch == '\n')
 continue;
 printf ("Step 1\n");
 if (ch == 'c')
 continue;
 else if (ch == 'b')
 break;
 else if (ch == 'g')
 goto laststep;
 printf ("Step 2\n");
 laststep: printf ("Step 3\n");
 }
 printf ("Done\n");
 return 0;
 }

推荐
下面是一种方案:
#include <stdio.h>
int main (void)
{
char ch;
while ((ch = getchar ()) != '#')
{
if (ch != '\n')
{
printf ("Step 1\n");
if (ch == 'b')
break;
else if (ch != 'c')
{
if (ch != 'g')
printf ("Step 2\n");
printf ("Step 3\n");
}
}
}
printf ("Done\n");
return 0;
}

发表于 2018-03-18 22:27:35 回复(0)