#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
/*
字符串的赋值:
给 char* 类型的字符串赋值,可以直接使用 "=" 号
给 char[] 类型的字符串赋值,需要使用 strcpy 函数
字符串的特点:
需要明白的一点就是字符串以\0结尾, 没有\0就不是字符串
只要是用双引号括起来的都是字符串
字符串的本质就是数组(字符数组)
*/
/*
输入:
利用scanf函数接收字符串
利用gets函数接收字符串
利用fgets函数接收字符串(推荐常用!)
*/
printf("请输入一个字符串:");
char name[12];
//scanf("%s", name);//利用scanf函数接收字符串,会以空格、Tab、回车 作为结束符
//gets(name);//利用gets函数接收字符串,可以输入空格、Tab,以回车作为结束符;
//不安全,输入字符串没有长度限制,无限输入会造成内存溢出
fgets(name, 12, stdin);
//解决了安全性问题
//fgets(参数1,参数2, 参数3)
//参数1:保存数据的首位置
//参数2:保存的长度(包括 '\0')
//参数3:stdin(标准控制台输入)
//接收空格、Tab,以回车作为结束符
printf("name = %s\n", name);
/*
输出:
%s的原理, 从传入的"地址"开始逐个取出, 直到遇到"\0"位置
如何输出字符串:
使用printf的%s占位符来输出
使用puts函数来输出(自动换行,原样输出)
*/
char str[] = "how are you";
printf("%s\n", str); // 使用printf的%s占位符来输出
puts(str);//使用puts函数来输出(自动换行,原样输出)
system("pause");
return 0;
}