黑马程序员技术交流社区
标题:
要求:用 指针 调用 函数 交换了两个字符串的内容
[打印本页]
作者:
李言
时间:
2015-6-16 21:29
标题:
要求:用 指针 调用 函数 交换了两个字符串的内容
//
// main.c
// 指针练习8
//
// Created by 李言 on 15/6/16.
// Copyright (c) 2015年 ly. All rights reserved.
//
#include <stdio.h>
#include <string.h>
#define SIZE 100
//要求:用 指针 调用 函数 交换了两个字符串的内容
void strJiaoHuan(char *p1, char *p2);
int main(){
// 定义两个字符串,并用指针指向
char str1[SIZE]="\0";
char str2[SIZE]="\0";
char *p1 = str1;
char *p2 = str2;
// 提示并输入两个句子
printf("输入句子1\n");
gets(p1);
printf("输入句子2\n");
gets(p2);
// 调用函数
strJiaoHuan(p1, p2);
// 输出
puts(p1);
puts(p2);
return 0;
}
void strJiaoHuan(char *p1, char *p2){
// 定义中间字符串
char str3[SIZE] = "\0";
char *p3 = str3;
// 计算原两个句子长度并取较长的长度
long int len1, len2, len;
len1 = strlen(p1);
len2 = strlen(p2);
len = len1>len2 ? len1 : len2;
// 交换
int i = 0;
for(i=0; i<len; i++){
*(p3+i) = *(p1+i);
*(p1+i) = *(p2+i);
*(p2+i) = *(p3+i);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2