重走ACM

     博主是个大三的老学长,不想再继续这样平淡下去了,打算在在毕业前疯狂(皮)一下,再走下ACM竞赛的路。ACM是个啥呢?可以参考下百度百科上的解释ACM国际大学生程序设计竞赛,大致就是一个针对大学生的程序设计竞赛这样子,ACM搞的好了,差不多就是拿几张国家证书,保保研,拿拿高薪的样子(小声BB,博主羡慕的一比)。为了督促自己学习,在网上各种大神的吊打下有点长进,博主决定从从今天开始每天做练习,主要是从洛谷、Vijos还有VScode(最近登不上去了??)上选取题。因为是大三了,所以说不一定每天都有时间去更新博客,尽量做到每周两篇博客吧。

  • Vijos:1000 A+B problem
    没错,我已经菜到连基本的C语言的语法都忘记了,简直是耻辱啊,所以这题还是分享下代码。
#include<stdio.h>

int main(){
	int x,y;
	//	循环获取输入
	while(scanf("%d %d",&x,&y)!=EOF){
			printf("%d\n",x+y); 
	};
}

    这题的基本没算法可言,语法也比较简单就不说了。不过有个好玩的需要提一下:就是C语言在输入的时候没有检查机制,比如说这题要求我输入两个数x和y但是如果我在第一次输入的时候输入了三个数会怎样呢?会不会影响道后面的结果呢?下面Po上博主测试的结果和分析。
在这里插入图片描述
    首先呢,先测试两个数据123 321,结果显示444没问题。然后当我第二次异常输入的1 2 3的时候结果似乎没受什么影响,但是,当我第三次正常输入的时候,结果却跟设想的7不一样而是6,这显然是受到了第二次异常输入的影响计算的结果时候3+3,而不是3+4。也就是说C语言的IO输入输出流是独立于程序计算的,异常的输入并没有被舍弃,而是暂时存储等待下次程序的计算的调入(博主自己的理解)。因此在最后一次,仅仅输入一个数1程序也没有报错,并计算了4+1的结果,算是对博主理解的一个验证。当然这里还有一个问题,就是现在很多程序是并行运算的,CPU对一个程序进程执行时对IO调度的会影响的其他程序进程嘛?(猜测:对同一程序中的IO流有影响,对另一程序无影响)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值