我在比较C中的字符串时遇到了麻烦.首先,我需要从命令行参数中找到每个字符串的长度,然后比较它们以及打印最大的字符串.
到目前为止,它只是打印每个类型字符串的长度.我需要根据长度而不是字母顺序来比较它们.
我不明白为什么它现在正在工作,我该怎么办呢?谢谢!
#include <stdio.h> #include <string.h> int main(int argc,char *argv[]) { int i,length; for(i = 0; i<argc; i++) { length = strlen(argv[i]); printf("%s %d\n",argv[i],length); if(strlen(argv[i]) < strlen(argv[i+1])) { printf("%s is the biggest \n",argv[i+1]); } else { printf("%s is the biggest \n",argv[i]); } } return 0; }
解决方法
#include <stdio.h> #include <string.h> int main(int argc,char *argv[]) { int i,max_length,max_index; max_index = 0; max_length = strlen(argv[0]); for(i = 1; i < argc; i++) { if(strlen(argv[i]) > max_length) { max_length = strlen(argv[i]); max_index = i; } } printf("The longest is: %s with length equal: %d\n",argv[max_index],max_length); return 0; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。