printf("感觉这个算法有点很巧妙 &&也有点小疑问")
//实现的是不用字符串处理函数 连接两个字符串
#include <stdio.h>
void main()
{
char lj(char m[100],char n[100]);
char str1[100],str2[100];
gets(str1);
gets(str2);
lj(str1,str2);
puts(str1);
}
char lj(char m[100],char n[100]){
int i,j;
for(i=0;m[i];i++); //就是这里 为什么它能检测到数组str1[]里的字符个数,它的原理是什么
for(j=0;n[j]!='\0';i++,j++)
m[i]=n[j];
m[i]='\0';
return 0;
}
[解决办法]
就是判断m[i]非零。由于字符串总是以0来作为结束符的,所以当遍历str1结束时,m[i]的值就是0了。此时i就是str1的长度。
[解决办法]
c的字符串以'\0'结尾,'\0'的值就是0。
A byte with all bits set to 0, called the null character, shall exist in the basic execution character set; it is used to terminate a character string.
[解决办法]
‘\0’的值就是0。下面的写法是等价的
char ch=0;
或者
char ch='\0';