为什么我的代码没有执行?

时间:2017-05-01 03:25:43

标签: c

目前正在学习C - 我不知道我在这段代码中出错:

#include <stdio.h>

int main()
{
    char alphabet[20];
    int i;

    for (int i = 0; i > 20; i++)
    {
        printf("Enter in a letter:\n");
        scanf("%s", alphabet[i]);
        if (alphabet[i] == alphabet[i+1])
        {
            printf("Duplicate Letters");
        };
    return 0;
    }

}

我被要求为课程制作的程序 - 我需要创建一维数组,添加字母和重复字母的验证,以及创建一个排序字母和指定数字的功能每封信都被放入。

尽管我能够尝试编码是:

  • 创建一维数组以读取20个字母
  • 为重复的字母和printf&#39; Duplicate Letters&#39;添加验证。 但每次我尝试时,程序都会以#输入信件结束:&#39;或者它不会执行。

我哪里出错了?

对于背景:我主要在Windows 7上工作,因为那是学校的用途 - 使用MinGW作为我的编译器 - 但是在家里工作我使用MacOS作为编译器。

1 个答案:

答案 0 :(得分:4)

for (int i = 0; i > 20; i++)

您告诉计算机此处将i初始化为0,然后,当i大于20时,请执行循环。但是,由于i从0开始,因此永远不会超过20。

for (int i = 0; i < 20; i++)

而且,是的,正如评论所指出的,您对scanf的使用是不正确的。缺少更好的C引用,请查看http://www.cplusplus.com/reference/cstdio/scanf/以获取其参数的描述。