【发布时间】:2020-04-09 20:58:59
【问题描述】:
如果迭代(“i==[index]”),我打算使用“继续语句”跳过特定字符。我想跳过索引 5 处的字符。 请在下面是代码。不过我是新手。
#include <stdio.h>
#include <stdlib.h>
int main()
{
char guess[10]="Programmer";
char choice;
printf("Welcome to my guessing game\n");
printf("===============================\n");
int i;
for(i=0;i<10;i++)
{
printf("%c", guess[i]);
if(i==guess[5])
continue;
}
printf("\n\n");
printf("Guess which letter is missing\n");
scanf(" %c",&choice);
if(choice==guess[5])
{
printf("Excellent! Good point");
}else
{
printf("Ooops! Wrong answer\n");
}
return 0;
}
【问题讨论】:
-
char guess[10]="Programmer";==>char guess[]="Programmer";只是说。当您包含终止符时,Programmer是一个 11 八位字节序列。我不太确定你认为i==guess[5]应该做什么。将您的枚举变量i与guess[5]中的 content 进行比较听起来不太对,是吗?即使解决了这个问题,continue也似乎是错误的。反正你要循环了,所以.. 继续 what ?我认为这需要自我解释,因为 test+continue 应该是 before 打印。 -
如果你想跳过那个索引,你应该说
if (i == 5)。但是您需要在打印之前 进行。 -
@WhozCraig 因为他从不使用
guess作为字符串,所以不需要终止符。 -
@WhozCraig 在这种情况下它不是一个字符串,而是一个 10 个字符的数组。那里没有错。
-
删除代码块末尾的
continue什么都不做。改为if(i != 5) printf("%c", guess[i]);
标签: c arrays for-loop continue