C语言笔记

来源:互联网 发布:怎么提高英语听力知乎 编辑:程序博客网 时间:2024/06/07 11:41

1,判断 char s1[10]; char s2[]=“China”; s1=s2; 是正确的?

 
  注意:C语言字符串不能用“=”来进行赋值,要使用strcpy(s1,s2);

2,c语言中printf("%d%d\n",(++x,y++),z+2);是什么意思?

(++x,y++) 这叫逗号表达式,里面含2个表达式,表达式的最终值用最后一个表达式的结果。

假定 int x=10,y=1,z=1;
++x 前缀加,x 变 11
y++ 后缀加, y 现在不变化,等退出这句再增 1,所以 y=1;
逗号表达式的最终值 用最后一个表达式的结果, 就是 1。

printf("%d 打出的第一个结果值是
1
printf("%d%d\n",(++x,y++),z+2);
打出的第2个结果是 z+2,等于 3。
·······································································

注意:不管赋值还是比较都不能用“=”或“==”(用指针定义时,可以赋值
char *s;
s="hellow";