gpt4 book ai didi

c - 如何在c中输入多个字符串?

转载 作者:行者123 更新时间:2023-11-30 15:02:22 24 4
gpt4 key购买 nike

我正在尝试学习c中的字符串。我已经写了这个程序。我希望该程序将针对特定单词终止(输入该单词后按 ENTER 键)。它编译得很好,但是在给定输入后,当我按 Enter 键时,它会向我显示以下消息: test.exe 已停止工作。 这里“test”是我的程序的名称。请帮助我理解这一点。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main()
{
int i, j;

char *str[10];
for(i=0; i<10; i++)
{
//gets(str[i]);
scanf("%s",str[i]);
if(str[i]=="man") break;
}


for(j=0; j<10; j++)
{
printf("%s\n",str[j]);
}

return 0;
}

最佳答案

要比较 C 中的字符串,可以使用 strcmp 函数。例如:

if(strcmp(str[i],"man") == 0){
# write your code here
}

对于初始化,请执行以下操作。

char *str[10];
for(i=0; i<10; i++){
str[i] = malloc(sizeof(char) * 1024);
}

您还可以执行以下操作。

char str[10][1024];
for(i=0; i<10; i++){
scanf("%s", str[i]);
}

替代方案:如果您想将 str 声明为 char **str,可以按照以下方法操作。

char **str = malloc(10*sizeof(char*));
for(int i=0; i<10; i++){
str[i] = malloc(sizeof(char) * 1024); // buffer for 1024 chars
}

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com