找最大最小单词中,为4个字母时结束不考虑前几个为是个4个字母,这个程序哪里有错误,求解

int main(){ char str[20],str1[20],str2[20],str3[20]; printf("Enter word:"); gets(str1); printf("\nEnter word:"); gets(str2); if(strcmp(str1,str2)>0) strcpy(str3,str1); strcpy(str1,str2); strcpy(str2,str3); printf("\nEnter word:"); for(gets(str);strlen(str)!=4;gets(str)) { printf("\nEnter word:"); if(strcmp(str,str1)<0) { strcpy(str1,str); } else if(strcmp(str,str2)>0) { strcpy(str2,str); } } if(strcmp(str,str1)<0) { strcpy(str1,str); } else if(strcmp(str,str2)>0) { strcpy(str2,str); } printf("\nSmallest word:%s",str1); printf("\nlargest word:%s",str2); return 0;}

这是C语言啊,而且用代码块贴啊
if(strcmp(str1,str2)>0) strcpy(str3,str1); strcpy(str1,str2); strcpy(str2,str3); 这里错了啊,三个strcpy交换内容属于if的代码块,要加大括号的
改为

if(strcmp(str1,str2)>0) 
{
    strcpy(str3,str1); 
    strcpy(str1,str2); 
    strcpy(str2,str3); 
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632