<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">char c[]="I am happy "; char c[ ]={'I' ,' ','a','m','','h','a','p','p','y,'\0'} ;//初始化的方法;
//<span style="font-family: Arial, Helvetica, sans-serif;">赋值的方法:</span> s="xyz"; s[]="xyz"; 赋值必须有数组字符个数4(错误) s[0]='x'; s[1]='y'; s[2]='z'; s[3]='\0'; 使用strcpy函数赋值:(以下均为双参数) char s[5]; strcpy(s,"ABCD")后赋于前 注:strcat为前后连接;strcmp为比较,返回0正(1串大于2串)负;strstr求子串的位置,返回从子串起始处后半部分 cin.getline(字符串变量,变量大小)可以有空白,遇enter结束; </span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">#include "stdafx.h"</span></span>
<span style="font-size:18px;"><strong>#include <iostream></strong> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int i=0; char s[10];//error:Stack around the variable 's' was corrupted,当输入a-j十个字符时,提示数组越界,这是因为</span>
<span style="font-size:18px;">//有一个结束符是自动加上的,实际共有11个字符; cin>>s; for (i=0;i<10;i++) { if(s[i]>=97&&s[i]<=122) s[i]=s[i]-32; } for (i=0;i<10;i++) cout<<s[i]<<" "; return 0; }</span>教程的方法是一个三目运算符:
s[i]=(islower(s[i])?toupper(s[i]):toupper)//将小写字母改为大写