| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 753 人关注过本帖
标题:编译程序 出现了error c2106的 错误不知道如何改求大神指点,,,,
只看楼主 加入收藏
zhaobin1994
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-9-10
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
编译程序 出现了error c2106的 错误不知道如何改求大神指点,,,,
我想把信息输入到结构体变量当中去 ,然后按照学号由小到大输出出来,想先编一个样本出来但是遇到这个问题,
#include<stdio.h>
#include<math.h>
#include<malloc.h>
#include<string.h>
#define N 3
struct student
{ char number[20], name[20];
   int score[3];
};
void main()
{
    int i=0,j,k;
struct student exchange ;
        struct student *student;
    student=(struct student*)malloc(100*sizeof(struct student));
    struct student a[N]={
        {"27","赵滨",522},
        {"12","王子豪",522},
        {"3","尚晓琼",522}
            };
             for(k=i;k>0;k--)
                for(j=i;j>i-k;j--)
                {
                    if(strcmp(a[j].number,a[j-1].number)>0)
                    {strcpy(exchange.name,a[j].name);
                    strcpy(a[j].name,a[j-1].name);
                    strcpy(a[j-1].name,exchange.name);
                    exchange.number=a[j-1].number;
                    a[j-1].number=a[j].number;
                    a[j].number=exchange.number;D:\新建文件夹\Microsoft Visual Studio\MyProjects\学生情况表\情况表.cpp(28) : error C2106: '=' : left operand must be l-value
D:\新建文件夹\Microsoft Visual Studio\MyProjects\学生情况表\情况表.cpp(29) : error C2106: '=' : left operand must be l-value
D:\新建文件夹\Microsoft Visual Studio\MyProjects\学生情况表\情况表.cpp(30) : error C2106: '=' : left operand must be l-value
搜索更多相关主题的帖子: exchange include number 结构体 
2013-09-10 12:00
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
左操作数不是可以修改的变量。注意你初始化的数组a[3]是怎么回事,不懂就再翻翻书。

授人以渔,不授人以鱼。
2013-09-10 12:03
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:7 
代码贴完了,主要就是你把两个不同类型的变量相互赋值导致的

Maybe
2013-09-10 12:04
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:7 
struct student
{ char number[20], name[20];
   int score[3];
};
exchange.number=a[j-1].number
C语言的数组不能这样直接复制,你要么用循环单个赋值,要么用memcpy进行内存

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-09-11 06:18
shangxiaoqio
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-11-25
收藏
得分:0 
你是不是傻!
2013-11-25 22:00
thb
Rank: 2
等 级:论坛游民
帖 子:26
专家分:31
注 册:2013-11-21
收藏
得分:0 
你没弄明白左值表达式
2013-11-25 22:02
thb
Rank: 2
等 级:论坛游民
帖 子:26
专家分:31
注 册:2013-11-21
收藏
得分:0 
结构不能这样赋值,只能这样初始化
2013-11-25 22:04
快速回复:编译程序 出现了error c2106的 错误不知道如何改求大神指点,,,,
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027752 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved