c - 关于如何在数组中插入字符串的问题

标签 c arrays string

我必须做一个练习,我需要从键盘获取一个文本,最多 1000 行,每行最多有 100 个字符。

我还需要在用户键入包含单词“END”的行时完成输入的获取,并且我必须显示所有没有“END”行的获取行,以及使用的所有字母数字字符,并且在最后,使用的单词总数。

我试图通过数组从键盘获取行,但是用于添加行的 for 循环效果不佳,实际上循环在第一次调用后结束。

我认为发生这种情况是因为数组已满,但我不知道为什么以及如何修复它。

这是我的代码:

#include <stdio.h>
#define MAX_ROWS 1000
#define MAX_CHARACTERS 100

int main() {
int i;
char text[MAX_CARACTERS];

for(i=0;i<MAX_ROWS && text!="END";i++) {

scanf("%98[^\n]",text);

}




return 0;   
}

最佳答案

在 C 中你必须使用 strcmp 来比较字符串:

for(i=0; (i < MAX_ROWS) && strcmp(text, "END"); i++)

关于c - 关于如何在数组中插入字符串的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26680277/

相关文章:

php - 如何轻松地从数组中删除最后一个逗号?

c# - 如何使用较长的分隔符优先于较短的分隔符来拆分字符串?

C字符串内存分配隐式?

c - 编写一个函数,反转第一列和最后一列的数组元素

c - 使用 memset 和 memcpy 的问题

c - 在 while 循环内返回一个表达式 - C 语言

php - MySQL 结果数组...

javascript - 需要从 toDos 数组中删除 delItem 不知道如何

arrays - 按空格将字符串拆分为数组

c - Arduino 传感器 10DOF MPU9255 无法获取磁力计数据