c - 从 C 中的十个字符串列表中查找最长的字符串?

标签 c string

我将不得不接受用户的输入并从这 10 个字符串中找到最长的输入..

#include<stdio.h>
#include<conio.h>

void main() {
char str[10][10]
printf("Enter strings:")
scanf("%s", str)

}

如果我这样接受用户输入,它会将字符串存储在 str 二维数组中吗?为了首先找出最长的字符串,我会找到每个字符串的长度并使用 max_length 函数来确定最长的字符串。

最佳答案

您不需要存储所有字符串,只需存储迄今为止输入的最长字符串即可。 请注意,您确实需要定义字符串的最大长度以避免缓冲区溢出。

例如:

#define MAX_STRING_SIZE 1024

char last_entered_string[MAX_STRING_SIZE];
char longest_entered_string[MAX_STRING_SIZE] = ""; /* Must be initialized. */

scanf("%1023s", last_entered_string); /* Read one less to allow for
                                         null terminator. */

使用循环接受十个输入并与最长的字符串进行比较。如果最后输入的字符串较长,则将其复制到最长的字符串中。由于这是家庭作业,我不会提供任何进一步的代码。

关于c - 从 C 中的十个字符串列表中查找最长的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12528412/

相关文章:

c++ - 用长字符串中的另一个子字符串替换所有出现的子字符串

Python 将 float 误认为字符串

android - 从 Android JNI 程序调用的 Log API 是什么?

c - 简单的堆栈,弹出

c - 使用 dup() 创建重复文件描述符和创建硬链接(hard link)之间的区别?

C程序遇到EOF或-1不会停止

c - 从 fgets() 获取的行中删除 "\n"

java - 如何用更少的内存提高字符串处理的性能?

c - 如何使用函数从列表中删除字符串?

javascript - 帮助使用 javascript 中的正则表达式