for循环的表达式的三个条件均可以不写
//一直打印hello
for(;;){
printf("hello\n");
}
//常用库函数
#include<stdbool.h>//使用布尔表达式时
#include<math.h>//使用数学公式时
#include<string.h>//使用字符串函数时
# include<stdio.h>
# include<string.h>
void main(){
char a[]="i am a student";//14
char b[]={'i',' ','a','m',' ','a' ,' ','s','t','u','d','e','n','t'};//未知 实际输出值为30
char c[]={'i',' ','a','m',' ','a' ,' ','s','t','u','d','e','n','t',"\0"};//14 等价a数组
char d[]={"i am a student"};//14
printf("a:%d \t b:%d \t c:%d \t d:%d \n",strlen(a),strlen(b),strlen(c),strlen(d));
puts(a);
puts(b);
puts(c);
puts(d);
}
//a d 初始化方式,系统会自动在最后加上'\0'
//c不等价于b
//推荐ac方式尤其是a
两个指针指向同一个数组的时候,指针之差代表该两个指针之间的数组的元素个数
例如
int a[]={1,2,3,4,5};
int *p1,*p2;
p1=a;
p2=&a[4];
int b=p2-p1;//b=3
*p++==*(p++)//等价
//+和*运算优先级等价,采用自右向左方向运算