发布网友 发布时间:2024-10-24 00:10
共1个回答
热心网友 时间:2024-11-11 21:11
首先要区分,字符,字符数组,字符串的区别。 字符串默认的最后会有'\0' char k = 'a'; //定义的一个字符变量,并赋值为'a'字符 char a[10]; //定义一个size为10的字符数组,未初始化 char b[10] = {'a', 'b','c'}; //定义字符数组,并用一组字符初始化,此时后面不会自动加上'\0' char c[10] = {"abc"}; //定义字符数组,并用“字符串”初始化(双引号内部的是字符串),字符串后面会自动加上'\0' 此外: 对于char a[10]; gets(a); scanf("%s", a);这两种方法为a的元素赋值,默认的最后会有'\0'. 这两个函数都人为输入的是字符串 for(int i = 0; i < num ; i ++) scanf("%c", &a[i]);//这种方法,是每次读入一个字符。这时不会自动在后面加上'\0'