鱼C论坛

 找回密码
 立即注册
查看: 995|回复: 2

[已解决]C语言

[复制链接]
发表于 2020-5-13 16:24:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
#include<string.h>
void main()
{
char a[80]="AB",b[80]="LMNP";
int i=0;
strcat(a,b);
while(a[i++]!='\0')
b[i]=a[i];
puts(b);
}
麻烦会的能不能帮着分析一下,看不懂,它的运行是怎么来的,为什么L跑第一个上了
最佳答案
2020-5-13 16:56:16

extern char *strcat(char *dest, const char *src);
把src所指向的字符串(包括“\0”)复制到dest所指向的字符串后面(删除*dest原来末尾的“\0”)。要保证*dest足够长,以容纳被复制进来的*src。*src中原有的字符不变。返回指向dest的指针
#include <stdio.h>
#include<string.h>
void main()
{
char a[80]="AB",b[80]="LMNP";
int i=0;
strcat(a,b); // a = "ABLMNP"

while(a[i++]!='\0') // 循环1. i=0 
  b[i]=a[i];        // 循环1. i++后,这里 b[1] = a[1]

// 上2句执行完 
// b = "LBLMNP" 第1个'L'是b中原值,没有被修改到,"BLMNP"是从a[1]处开始复制到b[1]开始处得到的值

puts(b); // 输出b
}  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-13 16:56:16 | 显示全部楼层    本楼为最佳答案   

extern char *strcat(char *dest, const char *src);
把src所指向的字符串(包括“\0”)复制到dest所指向的字符串后面(删除*dest原来末尾的“\0”)。要保证*dest足够长,以容纳被复制进来的*src。*src中原有的字符不变。返回指向dest的指针
#include <stdio.h>
#include<string.h>
void main()
{
char a[80]="AB",b[80]="LMNP";
int i=0;
strcat(a,b); // a = "ABLMNP"

while(a[i++]!='\0') // 循环1. i=0 
  b[i]=a[i];        // 循环1. i++后,这里 b[1] = a[1]

// 上2句执行完 
// b = "LBLMNP" 第1个'L'是b中原值,没有被修改到,"BLMNP"是从a[1]处开始复制到b[1]开始处得到的值

puts(b); // 输出b
}  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-13 17:00:23 | 显示全部楼层
#include <stdio.h>
#include<string.h>
void main()
{
    char a[80]="AB",b[80]="LMNP";
    int i=0;
    strcat(a,b);//将字符串a和b进行拼接,并赋值给a,拼接后a="ABLMNP"
    while(a[i++]!='\0')//当a[i]不为'\0'的时候,执行下面语句,注意这里的i++,先执行条件判断语句,后进行i++
        b[i]=a[i];//第一次循环,i=1得到b[1]=a[1],之后逐次循环,吧a的其余字符也赋值给b对应的位置。注意:b[0]没有变,还是原来的字符'L'
    puts(b);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-14 01:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表