字符数组知识点:
定义及初始化:
char str[15] = "Apple" 或者 { “Apple }; 注意:字符串数组默认后面跟着一个'\0'
char str[15] = {'A', 'p', 'p', 'l', 'e'} ;写成这样太麻烦。
对字符数组的获取与输出:
#include <stdio.h>
int main()
{
char str[15];
scanf("%s", str); //字符串只需要提供首元素地址即可
printf("%s", str);
return 0;
}
字符数组逆序问题:

参考答案:
#include <stdio.h>
int main()
{
char str[15];
printf("请输入字符串:\n");
scanf("%s", str);
int i , j, length =0;
for(i=0; str[i]!= '\0'; i++) //字符串长度 可直接用strlen()代替
{
length++;
}
for( i =0 ; i < length /2 ; i ++)
{
int t = str[i] ;
str[i] = str[length -1 - i];
str[length-1-i] = t;
}
printf("逆序后\n%s", str);
return 0;
}
实现在一个字符串的指定位置插入一个字符:

#include <string.h>
int main()
{
char str[15], ch;
int insertn ;
printf("请输入字符串:插入位置 插入元素\n");
scanf("%s%d %c", str, &insertn ,&ch );
int i, length = strlen(str);
for(i= length; i > 0 ; i --)
{
str[i + 1] = str[i];
}
/*for(i= 0; i < length-insertn + 1 ; i ++)
{
str[length - i] = str[length - 1 -i];
}
*/
str[insertn-1] = ch;
printf("%s", str);
return 0;
}
strcpy(str +1 , ptr) 复制ptr到str+1地址后,包括'\0'
strncpy(str , ptr ,3) 复制ptr前三个字符到str中,str后面的不变
strcat(str, ptr) 链接ptr到str后面
strncat(str, ptr ,3) 链接ptr前三个字符到str后面
strcmp(str,ptr)比较两个字符串首元素的ASCII码值,并返回str - ptr的数值。