C语言,分别用字符数组和字符指针作函数参数两种方法编程实现字符串

C语言,分别用字符数组和字符指针作函数参数两种方法编程实现字符串逆序存放功能。

第1个回答  2017-05-11
#include <stdio.h>
#include <string.h>
#include <malloc.h>

void niXuArr(char arr[]);
char * niXuPoint(char *p);

int main(void)
{
char arr[] = {"abcdefghigk"}, *p = "you are the first";
printf("逆序前:%s\n逆序后:", arr);
niXuArr(arr);
printf("%s\n", arr);

printf("逆序前:%s\n逆序后:", p);

p = niXuPoint(p);
printf("%s\n", p);
return 0;
}

void niXuArr(char arr[])
{
int i = 0;
char temp = 0;

for(i = 0; i < strlen(arr) / 2; i++)
{
temp = arr[i];
arr[i] = arr[strlen(arr) - 1 - i];
arr[strlen(arr) - 1 - i] = temp;
}
}

char * niXuPoint(char *p)
{
char *pHead = NULL, *pTail = NULL, temp = 0;

int i = 0;

pHead = (char*)malloc(strlen(p));
pTail = p + strlen(p) - 1;
p = pHead;

for(i = 0; i < strlen(p); i++)
{
*pHead++ = *pTail--;
}

*pHead = '\0';

return p;
}本回答被提问者和网友采纳

...和字符指针作函数参数两种方法编程实现在字符串中删除与某字符相同的...
1、首先,定义一个头文件cstdio。2、接着,定义两个FILE文件结构指针类型变量,用来读入和写入字符。3、定义一个字符数组s,并将其各元素的值初始化为0。4、以只读的方式,打开输入文件。5、以只写的方式,打开输出文件。6、将输入文本中的字符串,读入字符数组s中。7、将字符数组s中的每个字符后...

c语言编程怎么实现字符串连接?
在C语言中,进行字符串连接主要通过使用字符数组和指针实现。strcat函数便是完成这一操作的利器,能够将两个字符串连接在一起。strcat函数的声明为:char *strcat(char *dest, const char *src);这里dest代表目标字符数组,src代表源字符数组。函数执行后,将src中的内容追加到dest的末尾。下面是一个示例...

C语言,指针 与 数组。
p指向的是数组第一个元素的地址 所以*p就是取p指向的这个地址的值.B错在str是指向字符串的指针 比如 printf("%s\\n",str);会输出整个Program 由此可以说明BCD都是错的 字符串的表现形式 在C程序中,可以用两种方法实现一个字符串。1. 用字符数组实现。[例8.11]void main(void){static char str...

c语言,请大神赐教,汉字字符串数组赋值指针数组后的如何输出单个汉字...
中文就是用两个字节表示一个汉字。方法不止一种:include<stdio.h>#include<string.h>int main(){ char str[]="如何控制指针数组"; int i,j,len=strlen(str); char words[len\/2][3]; for(i=0,j=0;i<len;i+=2,j++) { words[j][0]=str[i]; words[j][...

...请用数组的指针和指针数组两种方法做) 求计算
i<n;i++)\/\/ 扭转索引k+1后面的元素{ j = n - i + k;if (i >= j) break; swap(&a[i],&a[j]);} } if (k==-1) return 0; for(i=0;i<n;i++) printf("%c",a[i]); printf("\\n"); return 1; }int main(){ int i, lens; char ch[10...

c语言字符数组使用方法
对C语言处理字符串的方法由以上的了解后,再对字符数组初始化的方法补充一种方法――即可以用字符串常量来初始化字符数组:char str[ ]={"I am happy"}; 可以省略花括号,如下所示 char str[ ]="I am happy";注意:上述这种字符数组的整体赋值只能在字符数组初始化时使用,不能用于字符数组的...

用字符指针作函数参数编程实现如下功能在字符串中删除字母a假设字符...
1、首先,定度义一个头文件cstdio。2、接着,定义两个FILE文件结构指针类型变量,用来读入和写入字符问。3、定义一个字符数组s,并将其各元答素的值初始化为0。4、以只读的方式,打开输入文件。5、以只写的方式,打开输出文件。6、将回输入文本中的字符串,读入字符数组s中。7、将字符数组s中的...

C语言程序 用指针实现字符串比较函数strcmp
还是你两个字符串的分隔?所以当你输入abc,abc的时候计算识别你的第一个字符串是abc,abc 第二个字符串为\\n 所以你这里得到的始终是1 至于解决的办法:让计算机识别你的分隔符号 那方法就很多了,比如 scanf("%s%s",a,b);输入的时候用空白符(空格,tab,回车键)相间隔 ...

c语言中将字符串用指针数组输入输出..
首先确定是字符指针数组还是字符数组指针,前者是一个数组,数组每个元素都是一个字符指针,后者是一个指向字符数组的指针。若是指向字符数组的指针,则很简单,使用scanf("%s",str);函数获取输入的字符串,然后使用字符串拷贝函数strcpy(stc,dest);将获取的字符串拷贝到指定地址的字符指针数组中,拷贝过程...

c语言字符串的赋值方法
在C语言中,字符串的赋值方式有以下几种:1.字符数组赋值:可以通过定义一个字符数组,并逐个赋值字符来表示字符串。例如:char str[] = "Hello World";2.字符指针赋值:可以通过定义一个字符指针,并将指针指向字符串常量或字符数组的首地址来表示字符串。例如:char *str = "Hello World";3....

相似回答