c++技术杂谈

while(~scanf("%d",&n)){ }
这个while循环里面的语句代表当输入为空或者读取到最后一个值时停止循环,~代表按位取反

const和指针的三种经典组合:
const int *p---------指向常量的指针
char *const p='a'---常指针
const char *const p='a'-----指向常量的常指针

<<左移
<<右移

+的优先级比=<<高

rand() 和 srand() 的关系
因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand()会返回一随机数值,范围在0至 RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。rand ()产生的是假随机数字,每次执行时是相同的。若要不同,以不同的值来初始化它.初始化的函数就是srand()。

freopen("data.in", "r", stdin) 含义是以读的方式打开一个名为data.in的文件,相当于替换了scanf需要键盘录入的过程,这个语句直接读取data.in文件中的内容(作为输入)
在visual stdio2017中用到freopen时会报错,是因为不安全性,改为freopen_s后可以用,但是又有新问题出现,freopen_s不接受三个参数,这时可以把freopen_s改为fopen_s就可以了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值