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语言做。
展开
 我来答
创作者AikpNAQakN
2019-09-27 · TA获得超过3.7万个赞
知道小有建树答主
回答量:1.2万
采纳率:26%
帮助的人:2546万
展开全部
你要搞清一个事
char
a='b',有‘’(表示赋值的值是字符型的),所以是把字符b赋给a,char
a=
66,没有‘’,所以是把66赋给a,但是a是字符型的,所以把66转换为字符型输出(即字符B)
char
c=0x41;(16进制)
char
c=65;
(十进制)
char
c=o101;(8进制)
上面三个实际上是发生了转换
创作者D8PoEyGjJR
2019-04-15 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.6万
采纳率:30%
帮助的人:870万
展开全部
首先,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的关系就知道了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者MyyXNwGkge
2019-06-29 · TA获得超过3万个赞
知道大有可为答主
回答量:1.3万
采纳率:32%
帮助的人:710万
展开全部
char
string[500]="abcdefg";
这个就是说你在给一个数组赋值
但是如果你定义完数组以后又这样
string[500]="abcdefg";
就是说你在给数组里的第500个元素赋值
首先数组下标最大是499
没有500
其次
只能存放一个字符你确放了一个字符串
当然不对了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者IVEMqCAB7K
2019-12-03 · TA获得超过3万个赞
知道小有建树答主
回答量:1.3万
采纳率:26%
帮助的人:734万
展开全部
strcpy()是字符串函数,用来进行字符串的复制,也就是说”abcdefg“被复制进P中,不管P里面原来是
什么,都会被覆盖
第二种方法,我不知道是不是存在长度的问题,对C语言的语法有点遗忘了。
但是这种语法在C#中是可以的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
世镶柳009
2009-05-30 · TA获得超过3017个赞
知道答主
回答量:2928
采纳率:0%
帮助的人:2625万
展开全部
d[3]=c[10];

------------------这里错误,根本不存在d[3],数组的下标是从0开始的。

,因为前面的a[10]是个字符串,

----------------- a[10]不是字符串,是单个字符。

把d[3]换成二维数组?

-----------------C语言中变量的类型是不能改变的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式