C语言在VS编译器里的一些问题
目录
C语言在VS编译器里的一些问题
常量
字符串
?1.scanf是C语言提供的
scanf_s不是标准c语言提供的,是vs编译器提供的(不具有跨平台性和可移植性)
2.c语言有些代码不安全,如果使用加一行
#define _CRT_SECURN_NO_WARNINGS 1
3.在本文字符串的第三个代码中,如果没有像第四个一样修改,VS会报错,显示找不到标识符strlen。所以需要在第四行加入#include <string.h>
常量
c语言中的常量分为一下几种
- 字面常量
-
//int main()
//{
//1.字面常量
// //3;
// //100;
//
// return 0;
//} - const修饰的常量
-
int main()
{
//const - 常属性
const int n = 10;//n是变量但具有常属性,所以说n的是常变量
//*int arr[n] = {0};*/
n = 20;//这里出来会报错,因为n已经被定义
//const修饰的常变量
//const int num = 4;
//printf("%d\n", num);
//num = 8;
//printf("%d\n", num)
return 0;
} - #define定义的标识符常量? ?一般形式为:#define 标识符 常量 //最后没有;
-
//3.define 定义的标识符常量
//#define MAX 10
//
//int main()
//{
// int arr[MAX] = { 0 };
// printf("%d\n", MAX);
// return 0;
//} - 枚举常
-
#include <stdio.h>
//4.枚举常量
//枚举-一一列举
//
//性别;男 女 保密
//枚举关键字-enum
//enum Sex
//{
// MALE,//后面是,而不是;
// FEMSLE,
// SECRET
//};
MALE FEMALE SECRET - 枚举常量
//int main()
//{
// //enum Sex s = FAMSLE
// printf("%d\n", MALE);//0
// printf("%d\n", FEMSLE);//1
// printf("%d\n", SECRET);//2
//
// return 0;
//}
?字符串
“hello bit.\n”
是由双引号引起来的一串字符
打印字符串用%s
注:字符串的结束标志是一个\0的转义字符,在计算字符串长度的时候\0是结束标志,不算作字符串内容
//int float
//char
//字符串类型
//int main()
//{
// "hello";
// "";//空字符串
//
// return 0;
//}
//int main()
//{
// //数据在计算机上保存的时候,储蓄的是2进制
// //a-97
// //A-65
// //ASCII 编码
// //ASCII 码表
// //char arr1[] = "abc";//数组
// "abc"--'a' 'b' 'c' '\0' --'\0\'字符串的结束标志
// //char arr2[] = { 'a','b','c' ,0};
// '0' - 0
// 'a' - 97
// //printf("%s\n", arr1);
// //printf("%s\n", arr2);
//
// //return 0;
//}
#define _CRT_SECURN_NO_WARNINGS 1
#include <stdio.h>
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a','b','c','\0'};
printf("%d\n", strlen(arr1));//sterlen - string length - 计算字符长度的
printf("%d\n", strlen(arr2));
return 0;
}
#define _CRT_SECURN_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a','b','c','\0'};
printf("%d\n", strlen(arr1));//sterlen - string length - 计算字符长度的
printf("%d\n", strlen(arr2));
return 0;
}
|