| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 905 人关注过本帖
标题:菜鸟请教一个初级问题。这个%d让我困惑好久哦、
只看楼主 加入收藏
zzqqzzz
Rank: 1
等 级:新手上路
帖 子:6
专家分:7
注 册:2013-7-25
结帖率:0
收藏
已结贴  问题点数:20 回复次数:10 
菜鸟请教一个初级问题。这个%d让我困惑好久哦、
#include <stdio.h> //预处理,调入头函数 stdio.h
int main(void)     //申明主函数为 整型,且不返回值
{
  int words,lines; //申明 两个整型变量
  words = 3020;    //赋值
  lines = 350;     //赋值
  printf("there were %d words and %d lines \n",words,lines,);/*这里我就不懂了,%d的作用是什么,按先前的理解%d在输出时将被words的值和lines的值替代,即输出语句there were 3020 words and 350 lines 但在编译的时候这行报错了。*/
  return 0;        //返回
}
初学C,对于这段代码我是这样理解的。
搜索更多相关主题的帖子: return include 
2013-07-27 13:15
丶弱水彡千
Rank: 5Rank: 5
来 自:地狱十九层
等 级:职业侠客
威 望:2
帖 子:203
专家分:369
注 册:2013-6-16
收藏
得分:5 
第一个%d=words=3020   第二个%d=lines=350   %d就是输出整形的变量的值

这个怎么玩
2013-07-27 13:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
你知道报错,为什么不把报错文字贴出来?
你知道是哪行错,没仔细看看它哪些地方不对劲?最后一个逗号是你自己故意写上去的?还说能理解代码?

授人以渔,不授人以鱼。
2013-07-27 13:29
zzqqzzz
Rank: 1
等 级:新手上路
帖 子:6
专家分:7
注 册:2013-7-25
收藏
得分:0 
以下是引用TonyDeng在2013-7-27 13:29:37的发言:

你知道报错,为什么不把报错文字贴出来?
你知道是哪行错,没仔细看看它哪些地方不对劲?最后一个逗号是你自己故意写上去的?还说能理解代码?

 确实看的不够仔细,最后lines后面的逗号报错的。谢谢。不过我没有说我能理解代码,只是说脑袋的是这样想的
2013-07-27 13:36
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
那你明白为什么会报这个错没有?别是以为把那逗号删了就算学会吧。

授人以渔,不授人以鱼。
2013-07-27 13:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这代码如果是你黏贴的,就是不认真动手;如果是你手照着敲的,就是手痒加不思考,敲个符号都不加思索的。总之不大可能是你自己写的,自己写的代码不至于不想敲下去的符号意味着什么、想干什么。

[ 本帖最后由 TonyDeng 于 2013-7-27 13:41 编辑 ]

授人以渔,不授人以鱼。
2013-07-27 13:40
zzqqzzz
Rank: 1
等 级:新手上路
帖 子:6
专家分:7
注 册:2013-7-25
收藏
得分:0 
斑竹是个热心人。谢谢。
这个代码是我自己写得,而且是手痒 平时写东西不注意细节造成的。
2013-07-27 13:44
zzqqzzz
Rank: 1
等 级:新手上路
帖 子:6
专家分:7
注 册:2013-7-25
收藏
得分:0 
以下是引用TonyDeng在2013-7-27 13:37:40的发言:

那你明白为什么会报这个错没有?别是以为把那逗号删了就算学会吧。

那个逗号,确实没有明白,
比如输出 printf("there were %d words and %d lines \n",words,lines);
是输出变量lines,?实际上没有申明这个lines,(加逗号),所以报错?
2013-07-27 13:48
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:5 
你加了个逗号,后面都没有变量了,这不是手痒么?明知道多加了一个逗号是出错,还需要问为什么吗?

思考赐予新生,时间在于定义
2013-07-27 16:01
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
写在函数参数表中的逗号,编译器会期待在后面找到变量的标识符,但结果找不到,就报错。这是语言在函数使用上的语法要求。

可能很多人以为printf()后面的变量个数必须与前面字符串中的"%d"之类匹配,但实际上不是,在编译时是不会检查printf()这种匹配的,这种错误只会在运行时发生,编译期检查不出来。

授人以渔,不授人以鱼。
2013-07-27 16:09
快速回复:菜鸟请教一个初级问题。这个%d让我困惑好久哦、
数据加载中...
 
   



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

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