标签:字符 ebs clu sizeof 定义 表数 解决办法 stream int
1 // 12-字符串.cpp: 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include <iostream> 6 #include <climits> 7 using namespace std; 8 9 int main() 10 { 11 //C语言的写法: 12 //错误的写法:没有‘\0‘,在C语言中字符串是存在字符数组中的,‘\0‘则代表数组的结尾。 13 char website[] = { ‘H‘,‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘ ‘, ‘W‘, ‘o‘, ‘r‘,‘l‘,‘d‘, ‘!‘, }; 14 //正确的写法:‘\0‘占了数组的一个位置,当被用做字符串输出时,字符串的长度不包括‘\0‘,当被用做数组时,算上‘\0‘的长度。 15 char website2[] = { ‘H‘,‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘ ‘, ‘W‘, ‘o‘, ‘r‘,‘l‘,‘d‘, ‘!‘,‘\0‘ }; 16 //也可以这么写: 17 char website3[] = "Hello World!"; 18 //判断字符串的长度:长度为12,没有包括‘\0‘。 19 cout << strlen(website2) << endl; 20 //判断数组的长度:长度为13,包含了‘\0‘的长度。 21 cout<<sizeof(website2) << endl; 22 cout << website2 << endl; 23 cout << website3 << endl; 24 25 //字符串过长的问题: 26 char str[] = "sdasdsadasdasdasdsaddsadasdasda" 27 "2433359459423431413413";//中间无需添加任何符号 28 cout << str << endl; 29 30 char name[30]; 31 char food[40]; 32 cout << "你的名字是:"; 33 //使用cin来接收输入的时候是用空白(空格、回车 、制表符)来区分的, 34 //如果名字中有空格,就会出错。解决办法就是用cin.getline()来读取一行。 35 //cin >> name; 36 cin.getline(name,20); 37 cout << "你喜欢的食物是:"; 38 cin >> food; 39 cout << name << "喜欢吃" << food; 40 41 42 int t; 43 cin >> t; 44 return 0; 45 }
标签:字符 ebs clu sizeof 定义 表数 解决办法 stream int
原文地址:https://www.cnblogs.com/uimodel/p/9346559.html