小问题

1.当我们要用到内存比较大的数组,比如f[1000000]或是f[1000][1000]这样的数组时该怎么办呢?
如果是在main函数里面的时候系统会直接崩掉,所以这时候就在全局定义一个大数组就ok啦。
因为全局变量是在栈区分配的,空间更大;

2.int *q; *q=5; printf("%d\n",*q);
这样的写法是错误的,因为我们只定义了q,q是属于本程序的,所以我们可以对q进行操作,但是*q内部是垃圾值,其内存单元的控制权限并没有分配给程序,所以我们不能对其进行读写操作。

3.16进制整形数的输入用%x;

4.回车,ASCII码13
换行,ASCII码10
空格,ASCII码32

5.单个字符的输入用scanf(" %c",&a);在%c前面加上一个空格,防止回车的影响;
6.若全局数组值作为函数参数,可能会在函数中把本来不该改变的全局数组值给修改掉,因此不能直接传全局数组值,因此提前设置一个变量,使其代替该全局数组值;(模拟堆)
7.判断两数相等可以用异或,如

if(!(a ^ b))
	printf("a == b");

8.一个圈有n个数,起始位置为point(0<=point<n),则顺时针移动num个数后的新位置point为

point = (point + num) % n;

逆时针移动num个数后的位置point为

**point** = (point - num % n + n) % n;

(1)偶数个相同的数a异或后结果为0,奇数个相同的数a异或后结果为本身即a;
(2)任何数与0异或后结果都为本身。
10.

unsigned long long maxn = 18446744073709551615; 
//ull最大可到20位!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值