scanf与scanf_s
scanf()为C语言提供的函数,但是在VS编译器中,scanf()被认定为不安全的。因此VS推荐我们使用scanf_s()来代替scanf()函数。
但是scanf_s函数是VS编译器提供的,此函数只有在VS编译器环境下才能使用。如果在另一编译器中就无法使用,会导致代码的可移植性变差
常量
C语言中常量有以下几种:
字面常量(一个直接的值)
int main() {
3; //字面常量
3.14;
10;
return 0;
}
const修饰的常变量
int main() {
//这里num为什么叫常变量:因为虽然num无法修改,但它本质上还是个变量
const int num = 0; //const-修饰常变量关键字。被修饰的关键字无法被改变
num = 11; //这时,num的值便不会被修改
return 0;
}
例子:常变量
int main() {
int arr[10] = {0};
/*
const int n = 10;
int arr[n] = {0};
此创建方法会报错,n是变量,但是又有常属性,所以我们说n是常变量
n = 20; 这里n不能被改变,证实了n的常属性
*/
return 0;
}
#define定义的标识符常量
#define MAX 10
int main() {
int arr[MAX] = {0};
return 0;
}
枚举常量(一一列举)
性别:男、女、保密
星期:周一、周二、周三、周四、周五、周六、周日
enum GENDER {
MALE,
FEMALE,
SECRET
};
int main() {
enum GENDER a = MALE;
enum GENDER b = FEMALE;
enum GENDER c = SECRET;
printf("%d\\n",a); //打印0
printf("%d\\n",b); //打印1
printf("%d\\n",c); //打印2
return 0;
}
字符串+转义字符+注释
字符串
“hello bit.\n”
定义:这种由双引号(Double Quote)引起来的一串字符串字面值(String Literal),或者简称字符串
注:字符串的结束是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串内容
int main() {
char arr1[] = "abc"; //"abc"真正的样子为'a' 'b' 'c' '\\0'字符串的结束标志
char arr2[] = {'a','b','c'}; //打印出来后结果是abc烫烫烫烫蘟bc
char arr3[] = {'a','b','c','\\0'}; //打印出结果是abc
printf("%s\\n",arr1); //%s为打印字符串的格式字符
printf("%s\\n",arr2);
printf("%s\\n",arr3);
return 0;
}