【发布时间】:2015-02-16 21:42:25
【问题描述】:
我是 C 新手,我正在尝试找出并了解为什么我的代码无法正常工作。我知道在 C 中,字符串基本上是每个字符的数组。所以我一直在尝试在数组中搜索以找到字母 a,然后在找到时打印一些东西。但是我的程序每次尝试运行时都会崩溃。
这是我的代码:
#include <stdio.h>
void Display(char ch[]);
int main() {
char c[50];
printf("Enter String: ");
gets(c);
Display(c);
return 0;
}
void Display(char ch[]) {
int i;
for (i = 0; i < (sizeof(ch)); i++) {
if (strcmp(ch[i],"a") == 0) {
printf( "Yes");
}
}
}
当我运行我的程序时,我输入一个随机字符串,例如“fdas”,然后按 Enter。然后它崩溃了=\
请记住我是 C 新手。如果这有助于解释,我是一名 Java 程序员。
【问题讨论】:
-
编译程序时出现警告。
-
无关:忘记你见过
gets()这个函数,这个函数太卑鄙了,已经从标准库中删除了。 -
崩溃时抛出的错误信息是什么?
-
崩溃时没有显示消息。命令提示符只是说程序不工作,我需要关闭程序。 @WhozCraig 你会建议什么而不是 gets()?
标签: c string function comparison compare