关于字符串拼接的问题
1 #include <stdio.h> 第一个问题 这是一个拼接字符串的问题,我的疑问是第11行,如果不设置str2[1]为空字符,2 #include <stdlib.h> 为什么会出现错误?
3 char str2[2];给str2[0]赋值之后,字符串末尾自动添加空字符,str2[1]不就是‘\0’了吗?
4 int main(void) 求简答。
5 {
6 char str1[27]="a";
7 char str2[2];
8 int n;
9 printf("a\n");
10
11 str2[1]='\0'; // 为什么不设置会出现错误????
12
13 for(n=98;n<123;n++)
14 {
15 str2[0]=n;
16 strcat(str1,str2);
17 printf("%s\n",str1);
18 }
19
20 getchar();
21 return 0;
22 }
第二个问题
#include <stdio.h>
#include <string.h>
int main(void)
{
char buf[27]="abcdefghijklmnopqrstuvwxyz";
char str[27];
int n;
for(n=0;n<27;n++)
{
strcpy(str,""); //为什么必须设置?? 有点不懂,
strncat(str,buf,n);
printf("%s\n",str);
}
getchar();
return 0;
}
[ 本帖最后由 任重道远 于 2015-9-18 22:40 编辑 ]