首页 > 解决方案 > 使用一维数组和for循环的C语言字符猜谜游戏

问题描述

如果迭代(“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;
}

标签: carraysfor-loopcontinue

解决方案


这是修复:

还如上所述更新了数组大小(它在任何地方都不会被视为字符串,但比抱歉更安全)。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char guess[12]="Programmer";
    char choice;
    printf("Welcome to my guessing game\n");
    printf("===============================\n");
    int i;
    for(i=0;i<10;i++)
    {
        if( i != 5 )
        {
            printf("%c", guess[i]);
        }
    }

    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;
}

这是输出:

输出


推荐阅读