关于C语言的一个程序,谁帮我解读下 我不知道什么意思 万分感谢啊~~~

2024-12-03 16:55:02
推荐回答(4个)
回答1:

#include

int main()
{
char a[10],b[10],c[20];
int i,j;
//输入一串小于10个字母的字符串
gets(a);
gets(b);
//i和j都初始化为0
i=j=0;

//判断当a[i]等不等于 '\0' (因为字符串最后都以 '\0'结束)
//不等于'\0',进入循环
while (a[i]!='\0')
{
//把a数组i下标的值 赋给 c数组的i下标
c[i]=a[i];

//i自增1
i++;
}
//同上
while (b[j]!='\0')
{
//把b数组j下标的值 赋给 c数组的i下标 (注意 i的值是上一个while的最后一次循环的值)
c[i]=b[j];

//i和j都自增1
i++;
j++;
}
//因为上面两个循环都没有把'\0'赋给c字符数组,所以
//最后赋一个'\0'作为结束
c[i]='\0';

//打印printf("a: %s,b: %s cat--%s\n",a,b,c);
return 0;}

回答2:

#include

int main()
{
char a[10],b[10],c[20];
int i,j;
gets(a);
gets(b);
i=j=0;
while (a[i]!='\0')//把字符串a的内容复制一份到c,但是不复制结束符
{
c[i]=a[i];
i++;
}
while (b[j]!='\0')//继续上面的复制,把b的内容复制到上一次复制的后面
{
c[i]=b[j];
i++;
j++;
}
c[i]='\0';//写结束符
printf("a: %s,b: %s cat--%s\n",a,b,c);

return 0;
}

//实现的功能是strcat函数的功能,价格a和b字符串连接

回答3:

这是一个将两个字符串连接的程序,将第一个字符串的第一个结束标志‘\0’及其以后的字符去掉接上第二个字符,由于循环中用!=‘\0’判断,所以数组C结尾并没有结束标志,所以c[i]='\0';的作用就是使数组C中存放的是字符串。注意第一步循环后i还是原来的值,所以第二个循环可以继续用i。不懂可以继续问我。

回答4:

很简单的功能,把a[10],b[10]中的输入的字符连接起来放到c[20]中
尤其是第二个循环,还有后面个什么车【i】=c[i]=`\0` 这个是字符后面加结束符,“\0”表示结束符