1.i++和++i
#include <stdio.h>
int main()
{
int i = 5, j;
j = ++i;
printf("i = %d, j = %dn", i, j);
i = 5;
j = i++;
printf("i = %d, j = %dn", i, j);
return 0;
}
输出 6 6 6 5
说明j=i++的机制是i的值5先赋给j,然后i自己++变成6
2.goto语句
#include <stdio.h>
int main()
{
int i = 5;
while (i++)
{
if (i > 10)
{
goto A;
}
}
A: printf("Here, i = %dn", i);
return 0;
}
goto label
label:
执行label后的语句
goto语句除非要跳出多层嵌套的循环,否则不要使用
3.数组不能动态定义
4.数组可以指定初始化元素,未被赋值的元素自动初始化为0
int a[10]={[3]=3,[5]=5,[7]=7};
如果读入字符数组的元素,将a[n]初始化为结束符0,让用户不用每次输入字符串最后还要加0
char a[n+1]
scanf("%c", &a[i]);
a[n] = '0';
5.C99下,C语言可以定义动态数组
#include <stdio.h>
int main()
{
int n, i;
printf("请输入字符的个数:");
scanf("%d", &n);
char a[n+1];
printf("请开始输入字符:");
getchar();//读掉换行符,让字符串能全部输出
for (i = 0; i < n; i++)
{
scanf("%c", &a[i]);//C语言的字符串以0结尾
}
a[n] = '0';
printf("你输入的字符串是:%sn", a);
return 0;
}
6.C