楼主犯了3处错误,我直接上代码你自己看我写的注释吧- #include <stdio.h>
- #include <string.h>
- int main()
- {
- char str[6][111];
- for( int n = 0 ; n < 6 ; n++ )
- {
- printf("请输入第%d个字符串\n", n+1 );
- gets(str[n]);
- };
-
- for( int i = 0 ; i < 6 ; i++)
- {
- for( int j = i + 1 ; j < 6 ; j++)
- {
- if (strlen(str[i]) > strlen(str[j]))
- {
- //左右两值互换,此处2处修改,1。是修改temp为字符数组,2。是值互换方法你搞错了
- char temp[111];
- strcpy(temp, str[i]);
- strcpy(str[i], str[j]);
- strcpy(str[j], temp);
-
- };
- };
-
- };
- // 3.此处错误是str【i】
- for (int m = 0 ; m < 6 ; m++)
- printf("%s\n",str[m]);
-
- return 0 ;
- }
复制代码 |