c语言中,没有专门的字符串变量。。。。汗。。。。。所以,不严谨的说,字符数组相当于字符串。
#include<stdio.h>
int main()
{
int i;
char a[5]={'k','a','n','g'}; //比python啰嗦啊。。
//3、初始化字符数组,注意里边的字符元素都用单引号
//1、初始化还可以这样,char a[5]={"kang"}
//2、还可以,char a[5]="kang"。1、2这两种初始
//个字节,相当于 k a n g \0 。用3这种用字符逐
//个赋值的方法,系统不会自动加上的,为了方法一
//致,通常这种方法会人为的加上\0。
for(i=0;i<5;i++)
{
printf("%c",a[i]); //第一次打代码的时候,把%c定义成%s了。
//%c是逐个输入和输出,%s是整个字符串输入和输出,%s
//输出的时候用数组名而不能用带下标的字符数组,如
//char a[5]="kang" printf("%s",a)。。
}
printf("\n");
return 0;
}
下边是具体的输出的例子:
#include<stdio.h>
void main()
{
int i;
char a[15]="kang jin feng";
for(i=0;i<15;i++)
{
printf("%c",a[i]);//这是逐个输出
}
printf("\n");
printf("%s\n",a);//直接将字符串输出
}
字符数的一个实际应用,输入一串字符,要求每个单词之间用空格隔开,并且最后一个字符不能为空格。
#include<stdio.h>
void main()
{
char cString[100];
int i,iWord=1;
char cBlank;
printf("请输入字符串:\n");
gets(cString);//输入字符串函数,比较好用
if(cString=='\0')//注意单引号。判断是否是遇到结束符,提示。
{
printf("over,over\n");
}
else if(cString[0]==' ')//注意单引号。判断第一个字符位置是否为空格,提示。
{
printf("cBlank,over\n");
}
else
{
for(i=0;cString[i]!='\0';i++)//只要没遇到结束符,就循环
{
cBlank=cString[i]; //把找到的字符串逐个存储到cBlank变量中
if(cBlank==' ')//判断这些字符串中是否有空格
{
iWord++;//有空格字符数量就增加一个
}
}
printf("%d\n",iWord);
}
}