您的位置:

c语言中处理一个字符串,c语言在字符串中取一个字符

本文目录一览:

c语言编程字符串处理

#includestdio.hchar

str1[100],str2[100];char

*mystrcat(char

*s,char

*ct)

//字符串连接

{

while(*(s++));

s--;

while(*ct)

*(s++)

=

*(ct++);

return

s;

}char

*mystrcpy(char

*s,char

*ct)

{

while(*(s++)=*ct,*(ct++));

return

s;

}int

mystrcmp(char

*s,char

*ct)

{

while(*s

*ct)

{

if(*(s++)

==

*(ct++))

continue;

else

return

*(s-1)-*(ct-1);

}

return

0;

}int

mystrlen(char

*s)

{

int

length

=

0;

while((length++,*s++));

return

length-1;

}char

*mystrsort(char

*s)

{

int

i,j,length

=

mystrlen(s);

char

t;

for(i

=

0;i

length;i++)

for(j

=

0;j

length-i-1;j++)

{

if(s[j]

s[j+1])

{

t

=s[j];

s[j]

=

s[j+1];

s[j+1]

=

t;

}

}

return

s;

}int

mystrfind(char

*s,char

ch)

{

int

index

=

0;

while(*s)

if(index++,*s

==

ch)

return

index;

return

-1;

}void

menu()

{

int

choose

=

1;

char

ch;

while(choose

!=

0)

{

printf("\n1.字符串连接\n2.拷贝\n3.比较\n4.求字符串长度\n5.对字符串内字符进行排序\n6.查找字符串中某个字符是否存在\n0.退出\n");

scanf("%d",choose);

switch(choose)

{

case

1:printf("输入2字符串:\n");

scanf("%s%s",str1,str2);

mystrcat(str1,str2);

printf("连接后的字符串:%s\n",str1);

break;

case

2:printf("输入要拷贝的字符串:\n");

scanf("%s",str2);

mystrcpy(str1,str2);

printf("拷贝的字符串:%s\n",str1);

break;

case

3:printf("输入要比较的2字符串:\n");

scanf("%s%s",str1,str2);

printf("%d\n",mystrcmp(str1,str2));

break;

case

4:

printf("输入要求长度的字符串:\n");

scanf("%s",str1);

printf("长度为:%d\n",mystrlen(str1));

break;

case

5:

printf("输入要求排序的字符串:\n");

scanf("%s",str1);

mystrsort(str1);

printf("排序后:%s\n",str1);

break;

case

6:printf("输出字符串:\n");

scanf("%s",str1);

printf("输入要查找的字符:\n");

scanf("%c",ch);

scanf("%c",ch);

printf("ch所在位置为%d\n",mystrfind(str1,ch));

}

}

}int

main()

{

menu();

return

0;

}

c语言字符串处理

假如定义字符数组char

a[n];scanf("%s",a)不接收空格,遇空格结束读取,gets(a)从键盘读取n-1个字符,不是n个,第n个字符是系统加的字符串结束符'\0',

C语言中字符串的处理

strncmp函数【返回值】若str1与str2的前n个字符相同,则返回0;若s1大于s2,则返回大于0的值;若s1 若小于s2,则返回小于0的值。----百度百科 所以这个的意思就是如果b【0】与a【la-testlen】开始比较testlen个元素,如果相等if就成立 因为!非零==0 !0==1

在C语言中如何实现用键盘输入一个字符串,并打印出来?

在C语言中输入字符串后然后打印出来的编程方法如下:

1.首先需要先定义一个存放字符串的数组空间,如给字符串100个数组空间。

2.接着使用gets()函数来获取键盘输入的字符串。一般格式为gets(定义的字符数组名)。

3.然后再使用puts()函数来输出之前输入的字符串内容。一般格式puts(定义的字符数组名)。

4.最终运行程序,即可成功实现输入字符串,然后原样在屏幕中输出字符串。

扩展资料:

1.gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。

2.puts()函数用来向标准输出设备(屏幕)输出字符串并换行,具体为:把字符串输出到标准输出设备,将'\0'转换为回车换行。其调用方式为,puts(s);其中s为字符串字符(字符串数组名或字符串指针)。

参考资料:

百度百科-gets

百度百科-puts