C语言的字符数组str[]的定义和用法

C语言的字符数组str[]的定义和用法,第1张

;

以此类推

第二个式子和第一个式子差不多

可以说第2个式子就是

strcpy函数的工作原理

首先将k定为数组下界

然后每次循环自减1

n为制定的循环次数

这个循环是将后一项数组元素赋值给前一项

也就实现了你说的将第m个字符后面的字符顺序向前移动一个位置

别说你没学数组

不知道下界,&str[1+1]);

也就是strcpy(&str[0];

也就是strcpy(&str[1]str[]表示这是个数组

m是一个变量

举个列子你就知道了

当m=0时这个式子等价于strcpy(&str[0],&str[2])?

当m=1时这个式子等价于strcpy(&str[1],&str[0+1])

那你的好好补补基础,&str[1]);

strcpy()函数是干什么的不要多说吧

这是一个判断一串字符中有多少个单词的程序,for(i=0;i<strlen(str);i++)

{

if(str[i]==' ')

s++;

if(str[i]==' '&&str[i+1]!=' ')

w++;

}

这段循环的意思是检测每个字符,如果为空格,则s自加,如果当前为空格,且下一个字符不为空格,则表示下一个是单词的开始,故w自加if(str[0]==' ')

w--;

是用来判断如果第一个字符为空格,按照之前的循环,如果为空格,则会多加一个单词,故这里减一 if(str[strlen(str)-1]==' ')

w--;

在c中,字符串结束是有个标记位的,就是'\0',很明显,它不是空格,所以照循环的条件,这里单词数又加一了,其实后面已经没有单词了,所以用这个判断进行减一,对结果进行修正ps: strlen(str)是测量整个字符串的长度,str[strlen(str)-1]就是该字符串中最后一个字符 如你所说的"HOW ARE U " for 循环后w=4,s=3,之后通过if(str[strlen(str)-1]==' ') w--; 将w变成3 如果是" HOW ARE U " for循环后w=5,s=4,之后通过 if(str[0]==' ') w--; 使w=4

再通过 if(str[strlen(str)-1]==' ') w--; 使w=3

</SPAN></SPAN>

你好!!!

首先我们要知道编译器会把‘\0’看做是字符串的结束标志。

for(a=b=0;str[a]!='\0';a++)

if(str[a]!='c')

str[b++]=str[a];

循环的目的是把字符串a中字符‘c’的字符删掉!!!

str[b]='\0'; 语句的作用是重新为字符数组设置结束标志,要是不设置的话,输出字符串的时候会一直输出字符直到遇见'\0';

代码:

#include <stdioh>

int main(int argc, char argv[])

{

int a,b;

char str[]="hellocwoce";

for(a=b=0;str[a]!='\0';a++)

if(str[a]!='c')

str[b++]=str[a];

str[b]='\0';

printf("%s\n",str);

return 0;

}

结果:

hellowoe

Press any key to continue

strlen

--

计算字符串长度的库函数名。

str

--

通常,程序员喜欢用它作

字符串

变量名。它是

string(英文词

字符串

的缩写)

len

--

通常,程序员喜欢用它作

变量名。它是

length(英文词

长度

的缩写)。

例如:

char

str[20]="I

am

a

student";

int

len;

len

=

strlen(str);

printf("the

string

length

is:

%d",len);

c_str()就是把string类型转为char类型,它是string类型自带的一个类型转换函数。

关于乱码,是由于你的数据没有初始化,并且输出时循环越界引起的,修改为以下即可:

#include <iostream>

#include <stringh>

using namespace std;

int main()

{

string str="Hello World!";

char arr[50]={0};

strcpy(arr,strc_str());//c_str()是把string类型转为char格式!

for(int i=0;i<50;i++)

{

cout<<arr[i];//显示'e' 可以自己改动看看结果

}

return 0;

}

以上就是关于C语言的字符数组str[]的定义和用法全部的内容,包括:C语言的字符数组str[]的定义和用法、C语言问题;下面的程序中 if(str[strlen(str)-1]==' ') w--; 什么意思、C语言 下面的程序如何执行 作用是什么啊,其中str[b]='\0'这句是表示字符串结束吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10130086.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存