#YC239. 字符串输入输出

字符串输入输出

字符串输入输出

这是一道模板题,主要用于练习字符串如何输入输出 通常字符串分为两种数据结构来实现


字符数组
char s[10];
cin>>s+1;// +1之后表示从1位置存入字符串的每个符号
cout<<s+1;
string类型//不定长字符串 
string s;
cin>>s;//该类型的输入只能这么写,从0位置存入
cout<<s;

题目描述

输入一个正整数NN以及一个长度为NN的字符串,请你输出该字符串

输入格式

在第一行给定一个整数NN,表示字符串的长度(1N1000)(1 \leq N \leq 1000 )

第二行输入一个长度为NN的字符串,保证输入不含有空格符号

输出格式

输出该字符串

样例

5
happy
happy
3
day
day

字符数组的理论知识详解

一、基本概念

1.1 定义

字符数组是用于存储字符序列的连续内存空间,每个元素类型为 char。在C语言中,字符串本质是以 '\0' 结尾的字符数组。

1.2 核心特性

  • 存储单位:每个字符占1字节
  • 容量限制:数组长度需 ≥ 字符串长度 + 1(存放'\0')
  • 访问方式:通过下标索引(从0开始)或指针操作

二、声明与初始化

2.1 显式初始化

// 方式一:指定大小初始化
char str1[6] = {'H','e','l','l','o','\0'};

// 方式二:自动推导长度
char str2[] = "World";  // 编译器自动添加'\0',数组长度为6

自定义初始化
char str3[20];
str3[0] = 'A';
str3[1] = 'B';
str3[2] = '\0';  // 必须显式添加结束符