| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 406 人关注过本帖
标题:这个地方不理解了
只看楼主 加入收藏
luchuan10000
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-12-21
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
这个地方不理解了
1.
程序代码:
 
  1 #include<stdio.h>
  2
  3 #define molecular 3.0e-23;
  4 #define quart 950;
  5
  6 int main(void)
  7 {
  8     int quart_count;
  9     double count;

 10     printf("please input how many quart water:");

 11     scanf("%d",&quart_count);

 12     count =quart_count*quart/molecular;

 13     printf("these water cotains %e molecular",count);

 14     return 0;

 15 }


2.
程序代码:
  1 #include<stdio.h>
  2
  3 #define molecular 3.0e-23;
  4 #define quart 950;
  5
  6 int main(void)
  7 {
  8     int quart_count;
  9     double count;

 10     printf("please input how many quart water:");

 11     scanf("%d",&quart_count);

 12     count =quart_count*quart;

 13     count = count/molecular;

 14     printf("these water cotains %e molecular",count);

 15     return 0;

 16 }


方案一居然提示
61.c: 在函数‘main’中:
61.c: 12:26: 错误:expected expression before ‘/’ token
  count =quart_count*quart/molecular;

方案二顺利通过

这我就不能理解了,大神,何解?

我是用的是win7 64下的cygwin gcc编译
搜索更多相关主题的帖子: include 
2013-12-21 23:26
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
...  我也疑惑了

三十年河东,三十年河西,莫欺少年穷!
2013-12-21 23:53
逸浪1
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:19
专家分:24
注 册:2013-11-2
收藏
得分:0 
好疑惑!
2013-12-22 00:11
E01114124
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2013-10-22
收藏
得分:0 
确实疑惑
2013-12-22 00:14
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:12 
#define 不用 加 分号


[fly]存在即是合理[/fly]
2013-12-22 00:53
luchuan10000
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-12-21
收藏
得分:0 
回复 5楼 azzbcc
的确去掉分好就好了,可是为什么下面那个可以呢?大神能讲一讲原理吗?
2013-12-22 11:40
xiaozi2013
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:四川成都
等 级:蒙面侠
威 望:6
帖 子:830
专家分:4331
注 册:2013-12-13
收藏
得分:8 
个人理解:

12     count =quart_count*quart;
13     count = count/molecular;

两句表达式中的#语句是用分号分开了的!! 3 #define molecular 3.0e-23;
  4 #define quart 950;

然后引用 #define quart 950;自然结束语句,后面的/molecular;就成为多余的后缀出错。【用visual 2010就可以查出这里出错了】
自然,要修改的话,就是所谓方案二喽!
所以当然疑惑的啦。

--整天敲那些破代码能找着媳妇儿吗。。。---
2013-12-22 13:05
luchuan10000
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-12-21
收藏
得分:0 
回复 7楼 xiaozi2013
好像很有道理的样子
2013-12-23 11:43
flamebaby
Rank: 1
等 级:新手上路
帖 子:7
专家分:3
注 册:2013-12-8
收藏
得分:0 
#define  只是做宏替换  就变成 count = quart_count*950 ;;  这里就出现了两条空语句  不影响程序
接着 count = count/molecular 3.0e-23;;

宏的问题其实只要简单替换一下 问题就简单了
2013-12-23 14:10
快速回复:这个地方不理解了
数据加载中...
 
   



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

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