数组中容易忽视的小问题

1  char a[20]  = "hello";

   printf ("%s\n",a);   程序不会出现错误

   但是,如果char a[5]  = "hello";

   printf ("%s\n",a);  程序的结果会出现乱码,是因为printf函数在输出字符串时是输出到'\0'截止的

2   strcpy(字符数组1,字符串2)

     作用是把字符串2复制到字符数组1中去,所以字符数组1必须可以容纳被复制的字符串2,包括字符串2中的'\0';

   注意:“字符数组1”必须写成数组名的形式,“字符串2”可以是字符数组名,也可以是一个字符串常量

   例如:

    strcpy(str,“hello”);

   只能用字符串复制函数将一个字符串复制到另一个字符数组中,不能通过赋值的形式

3   scanf函数输入字符串时遇到空格或者回车就会输入结束 所以无法获取一个带空格的字符串

   gets(字符数组名)函数输入字符串时可以包含空格,是以回车结束的,这个函数的返回值是字符数组的起始地址

猜你喜欢

转载自blog.csdn.net/qq_42200183/article/details/81176968