【发布时间】:2021-03-29 02:25:51
【问题描述】:
样本输入包含:3、omahgoToRuLob、OmAhgotUrulobEI、aYfun 预期的输出是:丑陋的字符串 漂亮的字符串 漂亮的字符串
我收到一个错误,例如: 22:7:错误:“字符串”中缺少数组大小 27:23:错误:“]”标记之前的预期表达式 29:14:错误:“]”标记之前的预期表达式
我的代码是用 c 编程的。
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int main(){
int i;
char string[100];
char vowels = {"a", "e", "i", "o", "u", "A", "E", "I", "O", "U"};
for (i = 1; i < 4; ++i)
{
scanf("%99s", string[]);
if (string[] == vowels)
printf("lovely string \n");
else
printf("ugly string \n");
}
return 0;
}
【问题讨论】:
-
试试
char string[];-->char string[100];和scanf("%s", &string[]);-->scanf("%99s", string);。string[] == vowels--> 研究strspn() -
我已经按照你的建议编辑了我的代码,但我仍然收到同样的错误。
-
下标运算符
[]用于表示程序员希望访问数组的第i个索引。因此,编译器希望在]标记之前有一个索引值(例如 0、1、2 等)。 -
@Chewjunnie 看起来你跳过了研究
strspn()。 -
很难帮助你,因为这几乎没有任何意义。也就是说,我无法告诉您如何修复您编写的内容,因为我无法告诉您您期望您的代码是什么意思。例如,您有
if (string[] == vowels),您希望与什么进行比较?你知道[]不是变量名的一部分,对吧?如果您想知道元音是否在某个字符串中,它如何帮助您检查字符串是否等于?
标签: c