C语言指针题目2wr07

来源:百度知道 编辑:UC知道 时间:2024/06/21 12:47:54
1、用指针方法实现函数strcmp ,strcpy,strncpy,strcat
2、编程实现如下功能:
函数fun的功能是:将a数组中的n个数和b数组中逆序的n个数一一对应相乘,结果存在c数组中。
例如:当a数组中的值是:1、2、3、4、5
b数组中的值是:6、7、8、9、10
调用该函数后,c数组中存放的数据是10、18、24、28、30
void fun(int a[], int b[], int c[])
{ …… }

#include <stdio.h>
#define N 100

char *cat(char *p, char *q);
int cmp(char *p, char *q);
char *cpy(char *p, char *q);
char *ncpy(char *p, char *q, int n);

void main()
{
char *p, *q;
p = (char *)malloc(N);
q = (char *)malloc(N);

printf("enter p:\n");
gets(p);
printf("enter q:\n");
gets(q);

cat(p, q);
puts(p);

printf("%d\n", cmp(p, q));

cpy(p, q);
puts(p);

ncpy(p, q, 2);
puts(p);

free(p);
free(q);

}

int cmp(char *p, char *q)
{
int i = strlen(p), j = strlen(q), c = i>j?j:i, index;

for (index = 0; index < c; index++)
{
if (*(p+index) < *(q+index))
{
return -1;
}
else if (*(p+index)