C语言 常量、字符串

本文详细探讨了C语言在Visual Studio编译器中遇到的问题,如scanf_s的使用、代码安全性、常量定义(包括字面常量、const修饰和#define)以及字符串处理。通过实例讲解如何解决这些问题,适合初学者理解和实践。
摘要由CSDN通过智能技术生成

目录

c语言在vs编译器出现的一些问题

常量

 字符串


c语言在vs编译器出现的一些问题

我们知道vs编译器在现实开发中有利于编写,但是对于初学者来说经常出现问题,接下来我们一一解决

 问题:

我们知道 scanf是C语言提供的

然而scanf_s不是标准c语言提供的,是vs编译器提供的(不具有跨平台性和可移植性)

所以在vs中使用scanf会出现错误

解决:

c语言有些代码不安全,如果使用加一行

#define _CRT_SECURN_NO_WARNINGS 1

其他小问题

在本文字符串的第三个代码中,如果没有像第四个一样修改,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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柒柒要开心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值