weixin_52202309 2022-03-05 15:21 采纳率: 66.7%
浏览 26
已结题

为什么输入大于等于4输出只有6.0

#include<stdio.h>
#include<string.h>
void funstr(char p[], char q[], int m)
{
int k = strlen(q);
for(;p[m]!='\0';m++)
q[m] = p[m];
q[m] = '\0';
}

int main()
{
char a[100] = "theVisualc++";
char b[100] = "6.0";
int m;
scanf("%d", &m);
funstr(a, b, m);
puts(b);
return 0;
}

  • 写回答

3条回答 默认 最新

  • 树下等苹果 2022-03-05 15:33
    关注

    字符串b的第四个元素为b[3]=‘\0’。当你输入大于等于4时,把a字符串往b上加,假设你输入是4,那么是从b[4]=a[4],b[5]=a[5]依次加到b中。但是b[3]依然等于‘\0’。输出字符串时,遇到'\0'便结束输出,所以后面的字符无法输出。

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

报告相同问题?

问题事件

  • 系统已结题 3月13日
  • 已采纳回答 3月5日
  • 创建了问题 3月5日

悬赏问题

  • ¥15 ncode振动疲劳分析中,noisefloor如何影响PSD函数?
  • ¥50 寻找fpga的benchmark
  • ¥50 如何在arduino上,实现用4×4矩阵键盘按键控制2004显示屏输出图中显示功能的代码?
  • ¥15 P1口接8个发光二极管,利用定时计数器1编写程序
  • ¥20 keil5编译找不到.h文件该如何解决
  • ¥15 安卓EVS如何开启服务正常实现功能
  • ¥15 canal读取mysql时报错
  • ¥15 关于 S7-PLCSIM Advanced 5.0本地TCP连接无法读写数据
  • ¥15 关于温度改变石墨烯介电性能(关键词-介电常数)
  • ¥150 HDMI分路器LT86102 的输出在890MHz频点处EMC超标8DB