
C语言关于字符串的赋值。
比如我定义3个字符串chara[10];charb[10];charc[10];然后我想把这三个字符串这样赋值:chard[3];d[1]=a[10];d[2]=b[10...
比如我定义3个字符串
char a[10];
char b[10];
char c[10];
然后我想把这三个字符串这样赋值:
char d[3];
d[1]=a[10];
d[2]=b[10];
d[3]=c[10];
这样,结果显然是不对的,因为前面的a[10]是个字符串,而后面的d[1]是个字符。请告诉我该怎么样赋值才能实现。 把d[3]换成二维数组?
d[10][3]???
不能用string定义,因为要用C语言做。 展开
char a[10];
char b[10];
char c[10];
然后我想把这三个字符串这样赋值:
char d[3];
d[1]=a[10];
d[2]=b[10];
d[3]=c[10];
这样,结果显然是不对的,因为前面的a[10]是个字符串,而后面的d[1]是个字符。请告诉我该怎么样赋值才能实现。 把d[3]换成二维数组?
d[10][3]???
不能用string定义,因为要用C语言做。 展开
12个回答
展开全部
你要搞清一个事
char
a='b',有‘’(表示赋值的值是字符型的),所以是把字符b赋给a,char
a=
66,没有‘’,所以是把66赋给a,但是a是字符型的,所以把66转换为字符型输出(即字符B)
char
c=0x41;(16进制)
char
c=65;
(十进制)
char
c=o101;(8进制)
上面三个实际上是发生了转换
char
a='b',有‘’(表示赋值的值是字符型的),所以是把字符b赋给a,char
a=
66,没有‘’,所以是把66赋给a,但是a是字符型的,所以把66转换为字符型输出(即字符B)
char
c=0x41;(16进制)
char
c=65;
(十进制)
char
c=o101;(8进制)
上面三个实际上是发生了转换
展开全部
首先,char
c='\x41';
也应该得不到字符'A'
‘A’在askII中编码为
(0x41),(65),(o101)。定义char
c=‘A’,将c输出为整型的结果为65;
x41、65、o101放在单引号中就是一个语法错误,然后赋值给c,也是一个语法错误。
正确的应该是:
char
c=0x41;
char
c=65;
char
c=o101;
看看char和int的关系就知道了。
c='\x41';
也应该得不到字符'A'
‘A’在askII中编码为
(0x41),(65),(o101)。定义char
c=‘A’,将c输出为整型的结果为65;
x41、65、o101放在单引号中就是一个语法错误,然后赋值给c,也是一个语法错误。
正确的应该是:
char
c=0x41;
char
c=65;
char
c=o101;
看看char和int的关系就知道了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char
string[500]="abcdefg";
这个就是说你在给一个数组赋值
但是如果你定义完数组以后又这样
string[500]="abcdefg";
就是说你在给数组里的第500个元素赋值
首先数组下标最大是499
没有500
其次
只能存放一个字符你确放了一个字符串
当然不对了
string[500]="abcdefg";
这个就是说你在给一个数组赋值
但是如果你定义完数组以后又这样
string[500]="abcdefg";
就是说你在给数组里的第500个元素赋值
首先数组下标最大是499
没有500
其次
只能存放一个字符你确放了一个字符串
当然不对了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
strcpy()是字符串函数,用来进行字符串的复制,也就是说”abcdefg“被复制进P中,不管P里面原来是
什么,都会被覆盖
第二种方法,我不知道是不是存在长度的问题,对C语言的语法有点遗忘了。
但是这种语法在C#中是可以的。
什么,都会被覆盖
第二种方法,我不知道是不是存在长度的问题,对C语言的语法有点遗忘了。
但是这种语法在C#中是可以的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
d[3]=c[10];
------------------这里错误,根本不存在d[3],数组的下标是从0开始的。
,因为前面的a[10]是个字符串,
----------------- a[10]不是字符串,是单个字符。
把d[3]换成二维数组?
-----------------C语言中变量的类型是不能改变的。
------------------这里错误,根本不存在d[3],数组的下标是从0开始的。
,因为前面的a[10]是个字符串,
----------------- a[10]不是字符串,是单个字符。
把d[3]换成二维数组?
-----------------C语言中变量的类型是不能改变的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询