编程"骚"技巧,如何降低程序可读性(一)

如和是一段代码第一次执行时的行为与以后的执行时不同。

#include   <iostream>   

//------------------------------------------------
void generate_initializer(char * string)
{

	static char separator = ' ';
	printf("%c %s \n", separator, string);
	separator = ',';
}
void main()
{

	char string[5] = "aaaa";
	generate_initializer(string);
	generate_initializer(string);

}

函数第一遍执行结果前面会是空格,而第二次执行结果将是逗号,很好的降低代码的可读性!

到底有几个乘号?

#include   <iostream>   
#include <stdlib.h>
#define N 1

//------------------------------------------------

//-----------------------------------------------
void main()
{

	int *r,p,*q;
	p = N * sizeof *q;//这里面有几个和乘号
	printf("p = %d\n", p);
	r = (int *)malloc(p);
	printf("r = %d\n", r);
//----------------------------------------
	p = sizeof(int)* p;//那这里面有几个乘号呢?
	printf("p = %d\n", p);
	r = (int *)malloc(p);
	printf("r = %d\n", r);
	getchar();


}

第一个答案这里只有一个乘号因为sizeof操作符将指针q指向的东西(即 *q)作为操作数。它返回的q所指向对象类型的字节数。

第一个结果就是4。

第二个答案这里是一个乘号 ,结果是16.sizeof(int)返回4~4*4=16

嗯很好降低了程序的可读性~

猜你喜欢

转载自blog.csdn.net/iloveyou418/article/details/79344500
今日推荐