dede网站模板页在什么文件夹,树枝seo,公文写作 课程中心网站建设,广西住房与建设厅网站C语言字符串 一、字符串基础 注意#xff1a;字符串一定以\0结尾。 Printf(“yang\n”); 其中yang为字符串常量#xff0c;“yang”‘y’‘a’‘n’‘g’‘\0’。字符串由很多的字符组成#xff0c;通常使用字符数组来存储字符串#xff0c;如char name[10]“yang”;也可以… C语言字符串 一、字符串基础 注意字符串一定以\0结尾。 Printf(“yang\n”); 其中yang为字符串常量“yang”‘y’‘a’‘n’‘g’‘\0’。字符串由很多的字符组成通常使用字符数组来存储字符串如char name[10]“yang”;也可以以printf(name);的形式输出即通过数组来访问字符串但会有警告。因为默认情况下printf函数只接受字符串常量作为参数对变量并未写明。 字符串的三种写法 Char name[8]“yang”;//数组占用了8个字节的存储空间但是只含有5个字符。Char name[8]{‘y’‘a’‘n’‘g’‘\o’};Char name[8]{‘y’‘a’‘n’‘g’‘0’};这三种写法在内存中的表现都是一样的。 Char name[]{‘y’‘a’};前面不写个数不是一个字符串只能说是一个普通的字符数组。 char name[]“yang”; Name[1]‘o’;把字符串的第二个元素值由a改成o。 二、字符串使用注意点 1分析代码了解\0的作用。 Char name[]“yang”; Char name2[]{‘o’‘k’}; Printf(“name2%s”,name2); %s根据右边的参数打印字符串遇到\0为止 上面代码的打印结果为okyang 下面是内存情况分析 问1Char name[]“y\0ng”;则打印结果为什么oky 问2此时打印name的值使用%s是多少Y\0ng还是y? 2Strlen函数 Strlen函数计算字符串的长度字符数但不包括\0是字符数不是字数。比如一个汉字占三个字符。 Strlen(“haha”);//长度为4 Strlen“哈haha”;//长度为7而不是5 设 char name[]“it\0cast”; Strlen(name);值为2因为strlen从字符串的地址开始计算直到遇到\0为止。 假设 Char name[]“itcast”; Char name2[]{‘o’‘k’}; Int sizestrlen(name); 此时size的值为8。 3练习编写一个函数char_contains(char str[],char c)如果字符串中包含字符c则返回1否则返回0。 Int char_contains(char str[],char c) { //遍历整个字符串 For(int i0,istrlen(str);i) { If(str[i]c) Return 1; } Return 0; } //调用语句 Int resultchar_contains(“yang”,‘a’); //使用while循环 ①. While(istrlen(str)) ②. While(str[i]!‘\0’) ③. While(str[i]) ④. Int i-1;while(str[i]) 三、字符串数组 二维字符数组存储两个字符串数组每个的长度为1下面是两种写法但存储情况是一样的。 Char name[2][10]{“jack”,“rose”} Char name2[2][10]{ {‘j’‘a’‘c’‘k’‘\0’}, {‘r’‘o’‘s’‘e’‘\0’} } 把rose输出printf(“%s”,name2[1]); 输出k:printf(“%c”,name2[0][3]);