c++中关于输入字符,字符数组以及字符串的一些问题
关于输入
关于输入字符
一共有三种方式:
- scanf("%c",&c); 输入单个字符,它能够读取空格和换行符.
- cin >> c; 输入单个字符,它不能读取空格和换行符。
- c = cin.get(); 或 cin.get(c) ; 读取一个字符,它能够读取空格和换行符.
- c = getchar(); 库函数:int getchar(void) , 输入单个字符,该函数以无符号 char 强制转换为 int 的形式返回读取的字符。getchar可以读取换行符和空格并将其保存。
关于输入字符串是字符数组类型: char s[]
一共有四种方式:
- scanf("%s",s); 用来输入一个字符串,它通过空格和换行来识别一个字符串的结束。也就是说使用%s格式输入并保存到字符数组中的字符串是不含空格的。
- cin >> s; 同scanf
- cin.getline(s, length); length表述读取的长度。 接受一个字符串,可以接收空格并输出
- gets(s); 用来输入一行字符串并将其存放到一维数组(或二维数组的一维中),读取字符串可识别空格并将其输入,直到换行符结束,但是换行符会被丢弃,并且再在末尾添加'\0'。
关于输入字符串是string类型:string s
一共有两种方式:
- cin >> s; 用来输入一个字符串,它通过空格和换行来识别一个字符串的结束。
- getline(cin, s); 接受一个字符串,可以接收空格并输出,**需包含 #include < string > **。
关于输出
关于输出字符
- printf("%c",c);
- cout << c;
- putchar(c); 库函数:int putchar(int char); 把参数 char 指定的字符(一个无符号字符)写入到标准输出 stdout 中。
关于输出字符串是字符数组类型: char s[]
- printf("%s",s);
- cout << s;
- puts(s); 库函数:int puts(const char *str) 把一个字符串写入到标准输出 stdout,直到空字符,但不包括空字符。puts()函数会自动换行。
关于输出字符串是string类型:string s
- cout << s;

浙公网安备 33010602011771号