C语言中 scanf()的返回值是成功读入参数的个数

2008年11月08日 23:01 . 分类 编程相关 . 2 条评论 . 被踩 507 次 

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

忘了是谁前天问的了,本来是打算昨天写的,不过昨天有讲座写,于是乎就改今天写了。

他问我为什么 while(scanf("%d",&a)!=0) 这样的语句不能中断程序。OK,我们知道while()的参数是一个值,而这个值是scanf()函数返回的,所以我们到MSDN里面看一下相关的说明:

Both scanf and wscanf return the number of fields successfully converted and assigned; the return value does not include fields that were read but not assigned. A return value of 0 indicates that no fields were assigned. The return value is EOF for an error or if the end-of-file character or the end-of-string character is encountered in the first attempt to read a character.

通过这段话,我们可以知道scanf()的返回值并不是参数的值,而是成功读入参数的个数,举例说明:

scanf("%d%d",&a, &b);

如果a和b都被成功读入,scanf()的返回值是2

如果只有a被成功读入或者只有b被成功读入,scanf()的返回值为1

如果a和b都未被成功读入,scanf()的返回值为0

如果遇到错误或遇到End Of File,scanf()的返回值为EOF。

所以呢,文章开头提到的那句代码是不能正常中断程序的。

听了一个网络安全讲座

2008年11月07日 22:22 . 分类 大学生活 . 4 条评论 . 被踩 181 次 

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

今天周五,没课。上午去听一个图形学的专业方向介绍,没什么感觉,因为我对图形图像一向不敏感......只是惊讶地发现班主任居然还认识我......

几天前就知道了今天晚上有一个网络安全讲座,提到了网络安全,咱不能不去听一听,可是听完以后我才觉得这讲座真的不是我该听的......倒不是说老师讲的不好,而是老师讲的真的是太基础了,而且也太古老了,基本上都是04-07年的技术。像什么windows弱口令、MSSQL的Sa空密码、啊D注入工具使用、radmin使用......现在基本上都不能用了。

而且不知道是不是老师觉得我们真的是"菜鸟"而忽略了,反正有二个地方我认为他说错了:

1、"Windows XP的administrator用户空密码会导致黑客入侵"。其实不是这样的,XP默认的设置是不允许administrator用户空密码远程连接的。

2、"Windows XP不能多人同时3389登陆"。默认设置是只允许单一用户登陆XP,但是黑客可以通过修改注册表使得XP SP2以上支持多用户终端登录,我博客里也有相应的文章介绍方法。

总体来说老师讲的还是不错的,只是希望以后的讲座可以讲一些高级的东西......

PS.据说组织者要求老师讲一些实战的东西,结果老师就开始一个一个讲工具的使用......殊不知网络安全最主要的不是工具,而是网络基础和网络入侵思想么......这样一个一个讲工具最后出来的还不都是一堆脚本小子......

天气开始转凉了

2008年11月06日 22:23 . 分类 大学生活 . 1 条评论 . 被踩 552 次 

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

这两天男生们都不约而同地换上了长裤,因为天气开始转凉了。令人惊讶的是很多女生却依然是七分裤、裙子出门,至于原因我是懒得去想的。。。

天气转凉,外出是舒服了,可是学校却把中央空调关了,搞得教室里跟蒸笼似的。。。那种教室自带立柜空调的还好,没有的就比较惨了。当然了,没有立柜空调的教室毕竟是少数,嘎嘎。

天气转凉带来的消极影响就是洗过的衣服越来越难干了,这不我前天洗的衣服早晨从外面拿进来还没干,搞得我不得不用吹风机把衣服吹干。。。囧

最近活动和作业都比较多,搞得人怪紧张的。抓紧时间A学校OJ的题,争取寒假之前A到80题~~

PS.突然发现live现在的模板好难看。。。

C语言 多组数据for循环的一个小技巧

2008年11月05日 22:38 . 分类 编程相关 . 9 条评论 . 被踩 701 次 

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

在OJ做题的时候,我们经常会看到题目说:输入有多组数据。输入的第一行输入一整数N,表示有多少组数据。

这时我们就会写出如下代码来实现这句话:

int i,n;
scanf("%d",&n);
for (i=1;i<=n;i++){
}

这样写没错,但是有一种更好的方法:

int n;
scanf("%d",&n);
for (;n>0;n--){
}

或者(felix提醒)

int n;
scanf("%d",&n);
while(n--){
}

看到了么?使用这个小技巧,就可以让我们节省一个变量。所以,当我们的循环变量不参与循环体的操作时,我们就可以用这个方法来使得程序更加小巧。

李开复:算法的力量(转载)

2008年11月04日 23:59 . 分类 资源收集 . 5 条评论 . 被踩 307 次 

算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门,就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实,大家被这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。在“开复学生网”上,有位同学生动地把这些基础课程比拟为“内功”,把新的语言、技术、标准比拟为“外功”。整天赶时髦的人最后只懂得招式,没有功力,是不可能成为高手的。

我要阅读全文

期中了,考试了,我...饿了

2008年11月03日 21:34 . 分类 大学生活 . 9 条评论 . 被踩 312 次 

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

不知不觉来到大学已经2个月了,在感慨时光飞逝,岁月如梭的时候,伴随而来的N多科目期中考试也让我心力交瘁、手忙脚乱,头痛不已。。。

虽然有点夸张,不过最近的考试还真是很多,先是语文,然后是数学,上星期C语言也留了一个大作业,今天思修又布置了了一个N千字的社会实践调查报告,刚刚去上民俗文化的选修课,老师再一次布置了一个N千字的论文。。。哦对了,明天英语考试。。。疯狂中。。。

这周和下周有的忙了,论文。。。我得找Google大神帮我了。。。

这几天没事就在刷学校OJ上面的水题,因为老师说做得多者期末有加分。。。为了那点分数,我还是不得不刷那些水得不能再水的水题。。。

明天考英语,Vocabulary和Translation,还好是给定范围的,只要背一背就行~

PS.腾讯啊,你赶紧把彩虹QQ外挂给封杀吧。。。

 上一页 1 2 3 ...7 8 9 10 11 ...43 44 45 下一页
关闭
E-mail It