一个很骚的写法(如果你也懒)

int a[100]={0},n=20;
	for (int i=1;i<=n;i++) printf("%d%c",a[i],",\n"[i==n]);

这样声明的”,\n”实质是一个临时的字符数组(后面是指针[]),而这个字符数组并不需要每次print都声明一次,(解释来自知乎)原因是可以把”,\n”看成一个指针 编译器在编译的时候会把这样的字符串保存到静态区,在程序里每一次使用这个字符串时都会指向那个区域,所以不用担心太大常数。


以下等式皆成立:

a[5] == 5[a];
"ABCD"[2] == 2["ABCD"] == 'C';

因为C语言的底层都是指针,数组的实现也是。对于compiler来说,它们没有区别:

*(a + 5) == *(5 + a)

lambda表达式

(SDOI2018正式兹瓷了C++11,所以这让C++11的诸多特性得以发挥功效)

见百度百科?

分类: 技术杂乱

发表评论

电子邮件地址不会被公开。 必填项已用*标注