c语言怎样输入字符串后转换为数组

Python018

c语言怎样输入字符串后转换为数组,第1张

#include

<stdio.h>

#include

<string.h>//为strlen()函数提供原型

int

main()

{

char

ch[100]

int

i,length

int

n_number=0,m_number=0

printf("请输入字符串:

")

gets(ch)//获取输入,并存入数组

length=strlen(ch)//计算输入字符串的长度

for(i=0i<lengthi++)

{

if(ch[i]>='0'&&ch[i]<='9')//判断是否为数字

{

n_number++

}

if(ch[i]>='a'&&ch[i]<='z'||ch[i]>='A'&&ch[i]<='Z')//判断是否为字母

{

m_number++

}

}

printf("输入的字符串为:

")

puts(ch)//输出存入数组的字符串

printf("字符串中数字的个数=%d,字母的个数=%d\n",n_number,m_number)

return

0

}

字符串输出在遇到'\0'字符前不会停

char*

p

=

"123\0456"

printf(p)

//

输出123

p[3]

=

'&'

printf(p)

//

输出123&456

你代码里为什么那样是因为多位数组的存储空间是连续的

两句strcpy后arr数组是变这样

you.me.?

其中.代表空字符,?是未使用的空间