首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

printf("感觉这个算法有些很巧妙 &&也有点小疑问")

2013-04-09 
printf(感觉这个算法有点很巧妙 &&也有点小疑问)//实现的是不用字符串处理函数 连接两个字符串#include

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;
}
[解决办法]

引用
for(i=0;m[i];i++); //就是这里 为什么它能检测到数组str1[]里的字符个数,它的原理是什么

就是判断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';

热点排行