精华内容
下载资源
问答
  • 对字符类数组初始化正确的方法是
    2021-05-04 11:38:27

    当我们声明一个字符串数组的时候,常常需要把它初始化为空串。总结起来有以下三种方式:

    • (1) char str[10]="";
    • (2) char str[10]={'\0'};
    • (3) char str[10]; str[0]='\0';

    第(1)(2)种方式是将str数组的所有元素都初始化为'\0',而第(3)种方式是只将str数组的第一个元素初始化为'\0'。如果数组的size非常大,那么前两种方式将会造成很大的开销。

    所以,除非必要(即我们需要将str数组的所有元素都初始化为0的情况),我们都应该选用第(3)种方式来初始化字符串数组。

    更多相关内容
  • C 字符数组初始化问题

    千次阅读 2021-05-19 09:29:16
    1、定义的时候直接用字符串赋值char a[10]="hello";注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!2、对数组中字符逐个赋值char a[10]={'h','e','l','l','o'};3、利用strcpychar a[10]; ...

    1、定义的时候直接用字符串赋值

    char a[10]="hello";

    注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!

    2、对数组中字符逐个赋值

    char a[10]={'h','e','l','l','o'};

    3、利用strcpy

    char a[10]; strcpy(a, "hello");

    易错情况:

    1、char a[10]; a[10]="hello";//一个字符怎么能容纳一个字符串?况且a[10]也是不存在的!

    2、char a[10]; a="hello";//这样的情况easy出现,a尽管是指针,可是它已经指向在堆栈中分配的10个字符空间,如今这个情况a又指向数据区中的hello常量,这里的指针a出现混乱,不同意!

    还有:不能使用关系运算符“==”来比較两个字符串,仅仅能用strcmp() 函数来处理。

    C语言的运算符根本无法操作字符串。在C语言中把字符串当作数组来处理,因此,对字符串的限制方式和对数组的一样,特别是,它们都不能用C语言的运算符进行复制和比較操作。

    直接尝试对字符串进行复制或比較操作会失败。比如,假定str1和str2有例如以下声明:

    char str1[10], str2[10];

    利用=运算符来把字符串拷贝到字符数组中是不可能的:

    str1 = "abc"; /*** WRONG ***/

    str2 = str1; /*** WRONG ***/

    C语言把这些语句解释为一个指针与还有一个指针之间的(非法的)赋值运算。可是,使用=初始化字符数组是合法的:

    char str1[10] = "abc";

    这是由于在声明中,=不是赋值运算符。

    试图使用关系运算符或判等运算符来比較字符串是合法的,但不会产生预期的结果:

    if (str1==str2) ... /*** WRONG ***/

    这条语句把str1和str2作为指针来进行比較,而不是比較两个数组的内容。由于str1和str2有不同的地址,所以表达式str1 == str2的值一定为0。

    动态数组的定义使用:

    数组究竟应该有多大才合适,有时可能不得而知。所以希望可以在执行时具有改变数组大小的能力。

    动态数组就行在不论什么时候改变大小。

    通俗的说静态数组就是在定义数组的时候,由操作系统分配的空间,比方

    int a[10];

    这就是在定义时由系统给你分配了10个int类型的空间,这个空间是能够初始化的,比方

    int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    那么在这个定义之后,系统会首先分配10个int类型的存储空间,然后把大括号中面的数字分别的,按顺序放到这10个空间里。你所做的仅仅是写这么一句,而数组赋值的操作就由系统完毕了。当然,初始化与否看你的需求,初始化不是强制性操作,想初始化就初始化,不想也没问题,还是上面的样例继续:

    int a[10];

    这里定义了,可是没初始化,这没有不论什么问题,以后你能够自己往里面赋值,比方

    a[1] = 8;

    a[5] = 3;

    或者

    for(int i = 0; i < 10; i++)

    a[i] = i;

    等等

    对于动态数组,不能被初始化,由于动态数组在定义时仅仅是个指针,比方

    int *a;

    这里变量a仅仅是个指向int类型的指针,而不是数组。动态分配有10个int类型元素的数组,例如以下:

    a = (int * ) malloc(10*sizeof(int));

    非常明显,指针a在定义的时候不能被初始化,比方这样写就是错误的:

    int a = {1,2,3,4,5,6,7,8,9,10}; / 错误! */

    由于a是仅仅有4个字节的指针,没有可用的存储空间给须要初始化的变量。

    在C语言编程中,当我们声明一个字符串数组的时候,常常需要把它初始化为空串。总结起来有以下三种方式:

    (1) char str[10]="";

    (2) char str[10]={'\0'};

    (3) char str[10]; str[0]='\0';

    第(1)(2)种方式是将str数组的所有元素都初始化为'\0',而第(3)种方式是只将str数组的第一个元素初始化为'\0'。如果数组的size非常大,那么前两种方式将会造成很大的开销。

    所以,除非必要(即我们需要将str数组的所有元素都初始化为0的情况),我们都应该选用第(3)种方式来初始化字符串数组。

    1. 基本问题

    数组可以初始化,即在定义时,使它包含程序马上能使用的值。

    例如,下面的代码定义了一个全局数组,并用一组Fibonacci数初始化:

    1 int iArray[10]={1,1,2,3,5,8,13,21,34,55); //初始化

    2 void main()

    3  {

    4     //...

    5  }

    初始化数组的值的个数不能多于数组元素个数,初始化数组的值也不能通过跳过逗号的方式来省略,这在C中是允许的,但在C++中不允许。

    初始化值的个数可少于数组元素个数。当初始化值的个数少于数组元素个数时,前面的按序初始化相应值, 后面的初始化为0(全局或静态数组)或为不确定值(局部数组)。

    2.初始化字符数组

    初始化字符数组有两种方法,一种是:

    char array[10]={"hello"};

    另一种是:

    char array[10]={'h','e','l','l','\0'};

    第一种方法用途较广,初始化时,系统自动在数组没有填值的位置用,'\0'补上。另外, 这种方法中的花括号可以省略,即能表示成:

    char array[10]="hello";

    第二种方法一次一个元素地初始化数组,如同初始化整型数组。这种方法通常用于输入不容易在键盘上生成的那些不可见字符。

    例如,下面的代码中初始化值为若干制表符:

    char chArray[5]={'\t','\t','\t','\t','\0');

    这里不要忘记为最后的,'\0'分配空间。如果要初始化一个字符串"hello",那为它定义的数组至少有6个数组元素。

    例如,下面的代码给数组初始化,但会引起不可预料的错误:

    char array[5]="hello";

    该代码不会引起编译错误,但由于改写了数组空间以外的内存单元,所以是危险的。

    3.省略数组大小

    有初始化的数组定义可以省略方括号中的数组大小。

    例如,下面的代码中数组定义为5个元素:

    int a[]={2,4,6,8,10};

    编译时必须知道数组的大小。通常,声明数组时方括号内的数字决定了数组的大小。有初始化的数组定义又省略方括号中的数组大小时,编译器统计花括号之间的元素个数,以求出数组的大小。

    例如,下面的代码产生相同的结果:

    static int a1[5]={1,2,3,4,5};

    static int a2[]={1,2,3,4,5};

    让编译器得出初始化数组的大小有几个好处。它常常用于初始化一个元素个数在初始化中确定的数组,提供程序员修改元素个数的机会。

    在没有规定数组大小的情况下,怎么知道数组的大小呢? sizeof操作解决了该问题。

    1、字符数组的定义与初始化

    字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。

    char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};

    即把10个字符分别赋给str[0]到str[9]10个元素

    如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即'\0' )。

    2、字符数组与字符串

    在c 语言中,将字符串作为字符数组来处理。(c++中不是)在实际应用中人们关心的是有效字符串的长度而不是字符数组的长度,例如,定义一个字符数组长度为100,而实际有效字符只有40个,为了测定字符串的实际长度,C 语言规定了一个“字符串结束标志”,以字符'\0’代表。如果有一个字符串,其中第10个字符为'\0',则此字符串的有效字符为9个。也就是说,在遇到第一个字符'\0'时,表示字符串结束,由它前面的字符组成字符串。

    系统对字符串常量也自动加一个'\0'作为结束符。例如"C Program”共有9个字符,但在内存中占10个字节,最后一个字节'\0'是系统自动加上的。(通过sizeof()函数可验证)

    有了结束标志'\0'后,字符数组的长度就显得不那么重要了,在程序中往往依靠检测'\0'的位置来判定字符串是否结束,而不是根据数组的长度来决定字符串长度。当然,在定义字符数组时应估计实际字符串长度,保证数组长度始终大于字符串实际长度。(在实际字符串定义中,常常并不指定数组长度,如char str[ ])说明:'\0代表ASCII 码为0的字符,从ASCII 码表中可以查到ASCII 码为0的字符不是一个可以显示的字符,而是一个“空操作符”,即它什么也不干。用它来作为字符串结束标志不会产生附加的操作或增加有效字符,只起一个供辨别的标志。

    对C 语言处理字符串的方法由以上的了解后,再对字符数组初始化的方法补充一种方法——即可以用字符串常量来初始化字符数组:

    char str[ ]={"I am happy"};

    可以省略花括号,如下所示

    char str[ ]="I am happy";

    注意:上述这种字符数组的整体赋值只能在字符数组初始化时使用,不能用于字符数组的赋值,字符数组的赋值只能对其元素一一赋值,下面的赋值方法是错误的

    char str[ ];

    str="I am happy";//错误,字符数组的赋值只能按元素一一赋值

    不是用单个字符作为初值,而是用一个字符串(注意:字符串的两端是用双引号“”而不是单引号‘’括起来的)作为初值。显然,这种方法更直观方便。(注意:数组str 的长度不是10,而是11,这点请务必记住,因为字符串常量"I am happy"的最后由系统自动加上一个'\0')

    因此,上面的初始化与下面的初始化等价

    char str[ ]={'I',' ','a','m',' ','h','a','p','p','y','\0'};

    而不与下面的等价

    char str[ ]={'I',' ','a','m',' ','h','a','p','p','y'};

    前者的长度是11,后者的长度是10.

    说明:字符数组并不要求它的最后一个字符为'\0',甚至可以不包含'\0',向下面这样写是完全合法的。

    char str[5]={'C','h','i','n','a'};

    可见,用两种不同方法初始化字符数组后得到的数组长度是不同的。

    include

    void main(void)

    {

    char c1[]={'I',' ','a','m',' ','h','a','p','p','y'};

    char c2[]="I am happy";

    int i1=sizeof(c1);

    int i2=sizeof(c2);

    printf("%d\n",i1);

    printf("%d\n",i2);

    }

    结果:10 11

    3、字符串的表示形式

    在C 语言中,可以用两种方法表示和存放字符串:

    (1)用字符数组存放一个字符串

    char str[ ]="I love China";

    (2)用字符指针指向一个字符串

    char* str="I love China";

    对于第二种表示方法,有人认为str 是一个字符串变量,以为定义时把字符串常量"I love China"直接赋给该字符串变量,这是不对的。C 语言对字符串常量是按字符数组处理的,在内存中开辟了一个字符数组用来存放字符串常量,程序在定义字符串指针变量str 时只是把字符串首地址(即存放字符串的字符数组的首地址)赋给str。

    两种表示方式的字符串输出都用

    printf("%s\n",str);

    %s 表示输出一个字符串,给出字符指针变量名str(对于第一种表示方法,字符数组名即是字符数组的首地址,与第二种中的指针意义是一致的),则系统先输出它所指向的一个字符数据,然后自动使str 自动加1,使之指向下一个字符,如此,直到遇到字符串结束标识符" \0 "。

    4、对使用字符指针变量和字符数组两种方法表示字符串的讨论

    虽然用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈。

    4.1、字符数组由若干个元素组成,每个元素放一个字符;而字符指针变量中存放的是地址(字符串/字符数组的首地址),绝不是将字符串放到字符指针变量中(是字符串首地址)

    4.2、赋值方式:

    对字符数组只能对各个元素赋值,不能用以下方法对字符数组赋值

    char str[14];

    str="I love China"; //错误,不是初始化,这是赋值,只能一一进行。

    (但在字符数组初始化时可以,即char str[14]="I love China";)

    而对字符指针变量,采用下面方法赋值:

    char* a;

    a="I love China";//指针赋值,可以

    或者是char* a="I love China"; 都可以

    4.3、对字符指针变量赋初值(初始化):

    char* a="I love China";

    等价于:

    char* a;

    a="I love China";

    而对于字符数组的初始化

    char str[14]="I love China";

    不能等价于:

    char str[14];

    str="I love China"; (这种不是初始化,而是赋值,而对数组这样赋值是不对的)

    4.4、如果定义了一个字符数组,那么它有确定的内存地址,不能进行多次赋值;而定义一个字符指针变量时,它并未指向某个确定的字符数据,并且可以多次赋值。

    5、字符串处理函数

    5.1 字符串连接

    char *strcat(char *str1,const char *2 );

    char *strcat(char *strDestination,const char *strSource );

    功能:函数将字符串str2 连接到str1的末端,并返回指针str1

    注:连接前两个字符串的后面都有一个' \0 ',连接时将字符串1后面的' \0 ‘去掉,只在新串最后保留一个' \0 ‘

    5.2 字符串复制

    char *strcpy(char *str1,const char *2 );

    char *strcpy(char *strDestination,const char *strSource );

    功能:复制字符串strSource 中的字符到字符串strDestination,包括空值结束符。返回值为指针strDestination。

    注:

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

    2、复制时连同字符串后面的' \0 ' 一起复制到数组1中

    3、不能用赋值语句直接将一个字符串常量或者字符数组直接赋给一个字符数组(同普通变量数组是一样的),而只能用strcpy 函数处理。

    4、可以用strcpy 函数将字符串2中的前若干个字符复制到字符数组1中去。

    展开全文
  • 字符数组初始化为空

    万次阅读 2020-04-08 16:38:20
    字符数组初始化为空1. 总结起来有以下三种方式:2. 分析3. 结论 1. 总结起来有以下三种方式: (1) char str[10]=""; (2) char str[10]={’\0’}; (3) char str[10] = ‘\0’; 2. 分析 第(1)(2)种方式是将str数组的...

    1. 总结起来有以下5种方式:

    #define STR_LEN      1023
    
    (1) char str[STR_LEN + 1]="";
    (2) char str[STR_LEN + 1]={'\0'};
    (3) char str[STR_LEN + 1];
    	str[0] = '\0';
    (4) char str[STR_LEN + 1];
    	str[0] = 0;
    (5) char str[STR_LEN + 1];
    	memset(str, 0 ,sizeof(str));
    

    2. 分析

    第(1)(2)(5)种方式是整体清0了整个缓冲区,效率较低;
    如果数组的size非常大,那么这三种方式将会造成很大的开销。

    而第(3)和第(4)种方式是只将str数组的第一个元素初始化为0,效率高;

    3. 结论

    1. 效率高,使用3、4初始化;
    2. 规范,建议使用5初始化(memset)
      因为有过用3/4的方式初始化,导致后面字符未初始化,而是随机值,正好使用了这些值,打印出来也是乱码导致。

    4. 扩展:

    4.1 不使用 szName[0] = ‘0’,使用szName[0] = 0

    szName[0] = '0' ;        // Warning 4195
    Possible confuse  digit '0'  or  zero-terminate '\0'  or  letter 'O'
    //混淆数字0 和 字符串结尾字符 \0 ,建议直接使用 0 即可
    

    4.2 空字符串判断

    推荐用法:

    if (0 != pcUserName[0])          //  推荐:安全 可靠
    

    错误用法:

    if (0 == strlen(pcUserName))
    	Warning 4170 Function 'strlen' is unnecessary or duplicate
    
    if('0' == pcUserName[0])
    同上
    Possible confuse  digit '0'  or  zero-terminate '\0'  or  letter 'O'
    
    展开全文
  • (C++)字符数组初始化的两种方法

    千次阅读 2021-03-19 19:32:10
    //字符数组的两种赋值方法 int main(){ //1.方法一 char str1[14] = {'I',' ','l','o','v','e',' ','m','y',' ','m','o','m','.'}; for(int i = 0;i<=13;i++){ printf("%c",str1[i]); } printf("\n...
    #include<cstdio>
    //字符数组的两种赋值方法 
    
    int main(){
    	
    	//1.方法一
    	char str1[14] = {'I',' ','l','o','v','e',' ','m','y',' ','m','o','m','.'};
    	
    	for(int i = 0;i<=13;i++){
    		printf("%c",str1[i]);
    	}
    	printf("\n");
    	//2.方法二,直接赋值字符串(注意,只有初始化时可以这么做) 
    	char str2[15] = "I love my mom.";
    	for(int j = 0;j<=13;j++){
    		printf("%c",str2[j]);
    	}
    	return 0;
    } 
    

    在这里插入图片描述

    展开全文
  • 字符数组初始化

    千次阅读 2019-12-18 11:30:04
    String Array Initialization (字符数组初始化) 在ReactNative的源码中有这样一个宏定义: #define RCT_EXPORT(JS_name) __attribute__((used, section("__DATA,RCTExport" \ ))) static const char *__rct_...
  • 【Java】字符串一维数组初始化

    千次阅读 2021-11-30 22:52:39
    初始化一维字符数组有三种方法: String[] strs = new String[5]; //创建一个长度为5的String(字符串)型的一维数组 String[] strs = new String[]{"","","","",""}; // strs = new String[] {“1”,“2”,“3”};...
  • C++数组初始化方法

    千次阅读 2020-12-31 08:50:11
    //array of 10 uninitialized ints此new表达式分配了一个含有 10 个int型元素的数组,并返回指向该数组第一个元素的指针,此返回值初始化了指针pia。在自由存储区中创建的数组对象是没有名字的,只能通过其地址间接...
  • 一、字符数组的定义和初始化 字符数组初始化,最容易理解的方式就是逐个字符赋给数组中各元素。 charstr[10]={'I','','a','m','',‘h’,'a','p','p','y'}; 即把10个字符分别赋给str[0]到str[9]10个元素 如果花...
  • 利用字符数组对字符串进行初始化

    千次阅读 2019-09-24 21:21:04
    static void Main(string[] args) { string str = "中国70周年国庆"; Console.WriteLine(str); //利用字符数组对字符串进行初始化 char[] charArray = { 'c', 'h', 'i', 'n','a'...
  • 字符数组及其定义和初始化,C语言字符数组详解字符串的存储方式有字符数组和字符指针,我们先来看看字符数组。因为字符串是由多个字符组成的序列,所以要想存储一个字符串,可以先把它拆成一个个字符,然后分别...
  • //字符数组初始化 char c1[3] = {'A','a','c'}; printf(&quot;%d\n&quot;, sizeof(c1)); //3 char c2[10] = { 'A', 'a', 'c'}; printf(&quot;%d\n&quot;, sizeof(c2)); //10 char c3[] = { 'A'...
  • 初始化字符数组方法总结

    千次阅读 2019-07-14 17:14:17
    字符数组建成字符串,由于字符串的应用及其广泛,而且在C语言中目前只有char这一变量类型既可以输出数字又可以输出字符,所以字符数组的变量类型也就只有char了。 方法一:大括号型 特点:1.大括号内从左至右的元素...
  • C 语言字符数组的定义与初始化

    千次阅读 2020-12-18 18:00:02
    1、字符数组的定义与初始化字符数组初始化,最容易理解的方式就是逐个字符赋给数组中各元素。char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号...
  • C语言 字符数组初始化以及memset函数

    千次阅读 2020-09-07 19:27:53
    首先为什么要初始化数组:假如创建... 最为简单的初始化方法就是char a[10] = {0};就可以将所有位置初始化为‘\0’。 当然可能会有一些情况导致这种方法不能初始化,或者字符数组是动态创建的,没有一个可以进行{0}的.
  • 字符数组初始化问题

    千次阅读 2018-01-08 13:29:24
    在C语言编程中,当我们声明一个字符数组的时候,常常需要把它初始化为空串。总结起来有以下三种方式: (1) char a[10]=""; (2) char a[10]={'\0'}; (3) char a[10]; str[0]='\0'; 第1,2种方式是将a数组的所有...
  • Java二维数组初始化方法

    千次阅读 2021-02-27 22:25:21
    下面本篇就Java二维数组简单介绍,然后就三种初始化方法带来详解。1.二维数组说明数组是一个容器,用来存储数据的。现在数组中存储的不再是int,double..的类型了,而是存储的数组数组中的元...
  • 很简单的一行代码,为什么就会报错呢? 不在结构体中就没有问题 这是错误信息 解决方案 ... CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明结构体中对字符数组初始化为0的问题!
  • C语言中字符数组初始化与赋值,字符串相关函数

    万次阅读 多人点赞 2018-09-23 20:56:37
    1.字符数组初始化 在C语言中,字符串是当做字符数组来处理的;所以字符串有两种声明方式,一种是字符数组,一种是字符指针。 (1)直接逐个初始化字符数组:字符数组的初始化,最容易理解的方式就是逐个字符赋给...
  • Java 字符串(一)字符初始化

    千次阅读 2021-02-12 10:33:36
    String 中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取子字符串以及创建具有翻译为大写或小写的所有字符字符串的副本。2、特点【重要】a、字符串不变:字符串的值在创建...
  • 【C++】C++数组初始化方法

    万次阅读 多人点赞 2018-12-17 22:13:55
    定义: int *pia = new int[10];...此 new 表达式分配了一个含有 10 个 int 型元素的数组,并返回指向该数组第一个元素的指针,此返回值初始化了指针 pia。 在自由存储区中创建的数组对...
  • 怎么把已经初始化字符数组设置为空?两种方法,如下所示。方法一:代码演示#include #include int main(void){char a[]={'x','y','z'}; //定义字符数组,并初始化int i=0;for(i=0;i<3;i++)printf("%c\t",a[i]);...
  • C语言中字符数组初始化的几种方法

    千次阅读 2022-03-05 16:21:01
    1.C语言中的字符数组初始化 在C语言中,字符串是当做字符数组来处理的;所以字符串有两种声明方式,一种是字符数组,一种是字符指针。 1.1 直接逐个初始化字符数组:字符数组的初始化,最容易理解的方式就是逐个字符...
  • 不只是数组,在使用任何变量之前,都应该变量进行初始化,这是一个编程的好习惯,可以有效避免许多由于垃圾值导致的bug。于是我回过脸去,不再理会。小易同学等了许久也不见我回答,很诚恳的说道,“不知道罢?我...
  • C语言数组初始化的三种方法

    万次阅读 多人点赞 2019-09-27 10:34:48
    C语言中,数组初始化的方式主要有三种: 1、声明时,使用 {0} 初始化; 2、使用memset; 3、用for循环赋值。 那么,这三种方法的原理以及效率如何呢? 请看下面的测试代码: #define ARRAY_SIZE_MAX (1*1024...
  • 一维数组的定义、初始化和引用

    千次阅读 2021-05-19 08:32:45
    一维数组的定义、初始化和引用一维数组的定义、初始化和引用1.一维数组的定义方式为:类型说明符 数组名[常量表达式](1)数组名的命名方法与变量名相同,遵循标识符命名规则;(2)数组是用方括号括起来的常量表达式,...
  • go语言数组如何初始化问题? - 知乎

    千次阅读 2022-06-30 02:27:14
    数组是相同数据类型的一组长度固定的序列,类型可以是整形、字符串和浮点...运行结果:运行结果数组初始化时,可以在声明数组时使用大括号初始化,或者在数组声明完成之后使用索引对数组中指定位置的元素进行初始化,在
  • C++字符数组 用来存放字符数据的数组是字符数组字符数组中的一个元素存放一个字符。字符数组具有数组的共同属性。由于字符串应用广泛,C和C++专门为它...对字符数组进行初始化,最容易理解的方式是逐个字符赋给数组中
  • 3、注意:在字符数组长度确定的情况下,如果用于初始化初始化列表或者字符串常量长度大于字符数组长度,则会出现语法错误。 最后再讨论用scanf()进行格式化输入字符串的各种情形 1、对于键盘输入字符串长度...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 475,956
精华内容 190,382
热门标签
关键字:

对字符类数组初始化正确的方法是