| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1162 人关注过本帖
标题:菜鸟问简单的C语言问题。望大家不要耻笑。
只看楼主 加入收藏
leechengwei
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-4-15
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:13 
菜鸟问简单的C语言问题。望大家不要耻笑。
#include <stdio.h>
main()
{
  int a,b,c,d;
  char e;
  scanf("%d%c%d=%d",&a,&e,&b,&c);
  switch(e)
{
  case '+': d=a+b;
  case '-': d=a-b;
}
if(d=c)
printf("perfect!");
else
printf("error!%d%c%d=%d",a,e,b,c);
}
上述程序。若我把CASE两行。。改为  a+b=d   a-b=d..为什么TURBOC2.0显示LValue require in function main...
搜索更多相关主题的帖子: 耻笑 C语言 
2010-04-15 21:15
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
收藏
得分:4 
应为=号的原则是把=号右边的值付值给左边的变量,而 a+b=d 左边就是表达式了 不符合语言要求

向=,+=,-=,/=。*=这样的运算都是自右向左的

[ 本帖最后由 草狼 于 2010-4-15 21:23 编辑 ]
2010-04-15 21:21
woaiqiufeng
Rank: 2
等 级:禁止访问
帖 子:38
专家分:29
注 册:2010-3-13
收藏
得分:4 
变量名放在左边,建议你回去看看C的基础,问题简单并不可笑,不懂就问,正常!不过要把基础打得扎实点,对不,兄弟
2010-04-15 21:37
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:4 
a+b和a-b都是表达式
表达式不能作为左值。。。

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2010-04-19 10:43
account
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:91
专家分:107
注 册:2010-4-12
收藏
得分:4 
这是赋值表达式的概念了,就是左结合还是右结合的了,书上应该有解释,一起努力!
2010-04-19 10:54
败给网络
Rank: 2
等 级:论坛游民
帖 子:45
专家分:63
注 册:2010-1-7
收藏
得分:4 
如果是A+B=D,那把D的值赋给A还是B?
这个和数学里面的=号不一样的
2010-04-19 11:02
leechengwei
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-4-15
收藏
得分:0 
- -这么多热心的大大呀。。感动呢~~谢谢大家
2010-04-26 19:51
高高倒过来念
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-4-6
收藏
得分:0 
#include <stdio.h>
void main()
{
    int a,b,c,d;
    char e;
    scanf("%d%c%d=%d",&a,&e,&b,&c);
    switch(e)
    {
    case '+': d=(a+b);break;
    case '-': d=(a-b);break;
    }
    if(d==c)
        printf("perfect!");
    else
    {
        printf("error!");
        printf("%d%c%d=%d\n",a,e,b,d);
    }        
}
2010-04-26 21:04
千叶林
Rank: 2
等 级:论坛游民
帖 子:26
专家分:18
注 册:2010-1-27
收藏
得分:0 
#include <stdio.h>
void main()
{
    int a,b,c,d;
    char e;
    scanf("%d%c%d=%d",&a,&e,&b,&c);//为什么要加个(=)号啊,我晕。这里根本就是错误的。
    switch(e)
    {
    case '+': d=(a+b);break;
    case '-': d=(a-b);break;
    }
    if(d==c)
        printf("perfect!");
    else
    {
        printf("error!%d%c%d=%d\n",a,e,b,d);
    }        
}
2010-04-27 09:24
千叶林
Rank: 2
等 级:论坛游民
帖 子:26
专家分:18
注 册:2010-1-27
收藏
得分:0 
a+b=d,a-b=d   d把值赋给谁  a+b, a-b的结果??
总要把一个变量接受d的吧。。  那个变量呢。。我晕 楼主要加强基础啊 !!!
2010-04-27 09:28
快速回复:菜鸟问简单的C语言问题。望大家不要耻笑。
数据加载中...
 
   



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

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