1.define定义与constt的区别
#define X 10 //内部外部都不能修改
const int num = 10;//程序内部不可以修改,外部可以修改
void main()
{
//printf("%x", &X);//常量不能取地址
printf("%x", &num);
printf("%d", num);
getchar();
}
//常量不允许赋值
#define X 10
void main3()
{
//X = 3; 常量不允许赋值
printf("%d", X);
getchar();
}
2.//变量不可重定义
#include <stdio.h>
//int a = 1;//同一区域不能重定义
//int a = 2;
void main()
{
//int a = 1;//同一区域不能重定义
int a = 2;
{
//int a = 1;//同一区域不能重定义
int a = 2;
}
}
3.//变量间隔
#include <stdio.h>
int a = 10; //all-a
void main()
{
printf("%d\n", a); //all-a
int a = 9; //main-a
{
printf("%d\n", a);//main-a
int a = 8; //main1-a
printf("%d\n", a); //main1-a
}
printf("%d\n", a);//main-a
}
4.//printf的本质就是按照自己的方式解析,所以必须数据匹配
void main1()
{
//能编译,并不保证结果
printf("%d\n", -10);
printf("%u\n", -10);
printf("%x\n", -10);
printf("%o\n", -10);
getchar();
}