2017-07-19
今天是学习嵌入式的第十一天。
今天主要是学习了以下几点
1. 宏定义
2. 数组
- 预处理
- 包含头文件
#include <XXXX.h>
- 一般宏定义用法:
#define <宏名> <字符串名称>
- 带参数的用法:
#define <宏名>(参数列表) <对参数进行的操作>
- 条件判断
#ifdef #ifndef #if #endif #else
偶然发现一个C语言中的小问题
test 1
#include <stdio.h>
int main()
{
int i,j;
int a[4][4];
for(i=0 ; i<4 ; i++)
{
for(j=1 ; j<=4 ; j++)
{
printf("%d,",j);
}
printf("\b\n");
}
return 0;
}
结果如下:
$ ./a.out
1,2,3,4,
1,2,3,4,
1,2,3,4,
1,2,3,4,
发现\b并没有发挥出它应有的效果。
test 2
#include <stdio.h>
int main()
{
int i,j;
int a[4][4];
for(i=0 ; i<4 ; i++)
{
for(j=1 ; j<=4 ; j++)
{
printf("%d,",j);
}
printf("\b");
}
return 0;
}
结果如下:
$ ./a.out
1,2,3,41,2,3,41,2,3,41,2,3,4
发现没有\n的时候\b就有用了。
test3
经过一番搜索资料。我发现了其中的秘密(之前的思维定式)
#include <stdio.h>
int main()
{
int i,j;
int a[4][4];
for(i=0 ; i<4 ; i++)
{
for(j=1 ; j<=4 ; j++)
{
printf("%d,",j);
}
printf("\b\b");
fflush(stdout);
sleep(1);
}
return 0;
}
结果如下:
1,2,3,4,
1,2,3,1,2,3,4,
1,2,3,1,2,3,1,2,3,4,
1,2,3,1,2,3,1,2,3,1,2,3,4,
最后的结果:1,2,3,1,2,3,1,2,3,1,2,3,