关于c语言我不懂的问题 10
选择以下错误的语句A.char*str[]={“guest”};B.charstr[][10]={“guest”};C.char*str[3];str[1]=“guest...
选择以下错误的语句
A.char *str[ ]={“guest”};
B.char str[ ][10]={“guest”};
C.char *str[3];str[1]=“guest”;
D.char str[3][10];str[1]=“guest”;
这四个都不懂,希望解释详细一点,感激不尽 展开
A.char *str[ ]={“guest”};
B.char str[ ][10]={“guest”};
C.char *str[3];str[1]=“guest”;
D.char str[3][10];str[1]=“guest”;
这四个都不懂,希望解释详细一点,感激不尽 展开
4个回答
展开全部
A
声明一个数组,数组中每个元素是一个指向char的指针,初始化为1个元素的数组,此元素指向“guest”char字符串的第一个char字符;
B
声明一个数组,数组中每个元素是一个char数组,初始化为1个元素的数组,此元素被初始化为值为“guest”的char数组;
C
声明一个3个元素的数组,数组中每个元素是一个指向char的指针;为第1个元素赋值,此元素指向“guest”char字符串的第一个char字符;
D
声明一个3个元素的数组,数组中每个元素是10个char类型的数组;为第1个元素赋值,此元素为值为“guest”的char数组;
D是错误的,C语言不支持为数组直接赋值。
楼主参考。
声明一个数组,数组中每个元素是一个指向char的指针,初始化为1个元素的数组,此元素指向“guest”char字符串的第一个char字符;
B
声明一个数组,数组中每个元素是一个char数组,初始化为1个元素的数组,此元素被初始化为值为“guest”的char数组;
C
声明一个3个元素的数组,数组中每个元素是一个指向char的指针;为第1个元素赋值,此元素指向“guest”char字符串的第一个char字符;
D
声明一个3个元素的数组,数组中每个元素是10个char类型的数组;为第1个元素赋值,此元素为值为“guest”的char数组;
D是错误的,C语言不支持为数组直接赋值。
楼主参考。
展开全部
错误答案是D;
char *str[ ]={“guest”};表示str是一个指针数组(即存放地址的数组),并将“guest”字符串的首地址存入str[0];
char str[ ][10]={“guest”};此处str为一个char类型的数组,str[0 ][1]='g';str[0 ][2]='u';
str[0 ][3]='e'; str[0 ][4]='s'; str[ 0][5]='t';其余都为‘\0’;
char *str[3];str[1]=“guest”;这和第一个差不多,只是数组大小不同;并将“guest”字符串的首地址存入str[1];
char str[3][10];str[1]=“guest”;此处str为一个char类型的数组,这句定义没有错误,这还表示定义了三个长度为10的一维数组,在c语言中,二维数组的前一位如这里的“str[0],str[1],str[2]”,表示的是这一维度的首地址,而数组首地址是不能够被改变的!这个语句是不合法的!(企图将“guest”的首地址赋给str[1],企图改变这个一维数组的首地址,不合法!)
char *str[ ]={“guest”};表示str是一个指针数组(即存放地址的数组),并将“guest”字符串的首地址存入str[0];
char str[ ][10]={“guest”};此处str为一个char类型的数组,str[0 ][1]='g';str[0 ][2]='u';
str[0 ][3]='e'; str[0 ][4]='s'; str[ 0][5]='t';其余都为‘\0’;
char *str[3];str[1]=“guest”;这和第一个差不多,只是数组大小不同;并将“guest”字符串的首地址存入str[1];
char str[3][10];str[1]=“guest”;此处str为一个char类型的数组,这句定义没有错误,这还表示定义了三个长度为10的一维数组,在c语言中,二维数组的前一位如这里的“str[0],str[1],str[2]”,表示的是这一维度的首地址,而数组首地址是不能够被改变的!这个语句是不合法的!(企图将“guest”的首地址赋给str[1],企图改变这个一维数组的首地址,不合法!)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A。正确
B。正确
C。正确
D。错误
一个字符串赋值给指针,实际上这个指针指向的是这个字符串的首地址。
B。正确
C。正确
D。错误
一个字符串赋值给指针,实际上这个指针指向的是这个字符串的首地址。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
BC错。D定义一个3*10的数组,然后把第一行赋值为guest。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询