1,
fprintf(stdout,"hello-std-out"); fprintf(stderr,"hello-std-err");
stdout和stderr是不是同设备描述符。stdout是块设备,stderr则不是。对于块设备,只有当下面几种情况下才会被输入,1)遇到回车,2)缓冲区满,3)flush被调用。而stderr则不会。
2,
int a = 1,2; printf("a : %d\n",a);
逗号表达式
(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,
3,
printf("%d\n",printf("%d",printf("%d",i)));
printf返回值是输出的字符个数
4,
char->int->long int ->float->double
5,
inti; i = 10;
printf("i : %d\n",i);
printf("sizeof(i++) is: %d\n",sizeof(i++));
printf("i : %d\n",i);
sizeof不是一个函数,是一个操作符,其求i++的类型的size,这是一件可以在程序运行前(编译时)完成的事情,所以,sizeof(i++)直接就被4给取代了,在运行时也就不会有了i++这个表达式。
6,
y = y/*p; /*dividing y by *p */;
这个地方会被当做注释/**/,要加括号y/(*p)
7,
int x;
return x == (1 && x);
只有指针是需要初始化,普通变量申明时已初始化,x为0