目前正在学习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;
}
}
我被要求为课程制作的程序 - 我需要创建一维数组,添加字母和重复字母的验证,以及创建一个排序字母和指定数字的功能每封信都被放入。
尽管我能够尝试编码是:
我哪里出错了?
对于背景:我主要在Windows 7上工作,因为那是学校的用途 - 使用MinGW作为我的编译器 - 但是在家里工作我使用MacOS作为编译器。
答案 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/以获取其参数的描述。