白日梦想家a 2021-12-20 19:22 采纳率: 100%
浏览 41
已结题

我想要这个程序的解析

#include<stdio.h>
main()
{
char str1[30],str2[10],str3[20];
puts("请输入两个字符串:");
gets(str1);
scanf("%s",str2);
printf("%-2d",strlen(str1));
printf("%-2d",strlen(str2));
strcpy(str3,str1);
printf("\n%s",str3);
strcat(str3,str2);
puts(str3);
printf("%d\n",strcmp(str1,str3));
}

  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2021-12-20 19:41
    关注

    main()
    {
    char str1[30],str2[10],str3[20]; -------------定义了3个字符串
    puts("请输入两个字符串:");
    gets(str1); -------------输入字符串str1,允许有空格,遇到换行符结束
    scanf("%s",str2); -------------输入字符串str2,遇到空格,TAB键,换行符结束
    printf("%-2d",strlen(str1)); -------------输出字符串str1的长度
    printf("%-2d",strlen(str2)); -------------输出字符串str2的长度
    strcpy(str3,str1); -------------将字符串str1复制到str3,这是有风险的代码,因为str3没有str1长
    printf("\n%s",str3); -------------输出str3
    strcat(str3,str2); -------------将str2加到str3的尾部。
    puts(str3); --------------输出str3
    printf("%d\n",strcmp(str1,str3)); ------------输出str1和str3哪个更大
    }

    //这个代码应该是有错误的,前面输入的应该是str2和str3,最后应该是合并到str1,否则可能越界

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月2日
  • 已采纳回答 12月25日
  • 创建了问题 12月20日

悬赏问题

  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥15 ensp路由器启动不了一直报#
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了