gpt4 book ai didi

c - 打印出c中最长的字符串

转载 作者:行者123 更新时间:2023-12-01 02:05:25 25 4
gpt4 key购买 nike

给定任意数量的程序参数输入命令行,计算每个参数的长度,最后输出最长的字符串。这是我的代码,但它似乎是错误的。

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

int main(int argc, char *argv[]) {
size_t maxlen = 0, len;
int i;
int longest;


for (i = 1; i < argc; i++) {
len = strlen(argv[i]);
if (len > maxlen)
longest = argv[i];
}

printf("The longest string is %s. \n", longest);

return 0;
}

最佳答案

错误:

一个。 char max; ... max = strlen(argv[i]);错误的; strlen()返回 size_t而不是 char .

两个:if(max < argv[i])同样错误的是,您将字符串的长度与指向字符串的指针进行比较。那甚至没有意义。你可能想要的是

size_t maxlen = 0, len;
int i, maxindex = 0;

for (i = 1; i < argc; i++) {
len = strlen(argv[i]);
if (len > maxlen) {
maxlen = len;
maxindex = i;
}
}

printf("The longest string is '%s'\n", argv[maxindex]);

关于c - 打印出c中最长的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12921064/

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