c语言字符串相互赋值

if(comm[i].num>comm[i+1].num){li[i].no=comm[i].num;li[i].a=comm[i].name;li[i].d=comm[... if(comm[i].num>comm[i+1].num)
{
li[i].no=comm[i].num;
li[i].a=comm[i].name;
li[i].d=comm[i].price;
li[i].s=comm[i].count;
li[i].z=comm[i].total;
comm[i].num=comm[i+1].num;
comm[i].name=comm[i+1].name;
comm[i].price=comm[i+1].price;
comm[i].count=comm[i+1].count;
comm[i].total=comm[i+1].total;
comm[i+1].num=li[i].no;
comm[i+1].name=li[i].a;
comm[i+1].price=li[i].d;
comm[i+1].count=li[i].s;
comm[i+1].total=li[i].z;
}
这是其中的一段程序,那么在name那里会报错(三个地方都是),说的好像是不兼容的类型分配,那么定义的都是char类型,这里直接赋的话应该也可以,有大神帮忙讲解一下,才学不太懂
展开
 我来答
千锋教育
2015-12-03 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

字符串赋值应该使用 strcpy

比如

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main(){
char *str1="hello";
char *str2;
strcpy(str1,str2)

}
沧海雄风2009
推荐于2016-06-02 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2867万
展开全部
字符串 不能用等号赋值

用strcpy

comm[i].name=comm[i+1].name;
改为

strcpy(comm[i].name,comm[i+1].name);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式