我想通过获取命令行参数从字符串数组中找到最长的字符串。我可以接收命令行参数,但我的逻辑有什么问题?
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
int i;
char *c = argv[1];
int maxSize = strlen(argv[1]);
for(i=2;i<=argc;i++){
int len = strlen(argv[i]);
if(len>maxSize){
maxSize = len;
c = argv[i];
}
}
printf("Max length string : %s", c);
}
最佳答案
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
if (argc == 1) {
printf("No arguments provided");
return 1;
}
int maxLength = 0;
int maxIndex = 0;
int i;
char* word;
for (i = 1; i < argc; i++) {
word = argv[i];
int length = strlen(word);
if (length > maxLength) {
maxLength = length;
maxIndex = i;
}
}
printf("Max length is %d for string: %s\n", maxLength, argv[maxIndex]);
return 0;
}
关于c - 查找 C 语言中最长的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44224066/