您的位置:首页 > 编程语言 > C语言/C++

C语言 写一个函数,将一维数组中的元素逆序存放

2013-03-27 14:25 1086 查看
//
//  main.c
//  c_test2
//
//  Created by vincent_guo on 13-3-26.
//  Copyright (c) 2013年 vincent_guo. All rights reserved.
//

#include <stdio.h>
#include <string.h>

//写一个函数,将一维数组中的元素逆序存放(用指针做这题)
//逆序存放第一种写法
void reverseChar(char strs[]){
//strlen()方法在string.h的头文件中,所以这里要include <string.h>
size_t count = strlen(strs);
//定义一个指针指向strs的内存地址
char *p = strs;
char tmp;
for (int i = 0; i < count/2 ; i++) {
tmp = *(p+i);
*(p+i) = *(p + count - 1 - i);
*(p + count - 1 - i) = tmp;
}

}

//逆序存放第一种写法
void reverseChar2(char strs[]){
size_t count = strlen(strs);
int left = 0;
int right = count-1;
char *p = strs;
while (left < right) {
char tmp = *(p + left);
*(p + left) = *(p + right);
*(p + right) = tmp;

left ++;
right --;
}
}

int main(int argc, const char * argv[])
{
//C语言是没有String类型的 它用char的数组来表示字符串
char strs[] = "ios_php_java";
printf("倒序前的字符串为:%s\n",strs);
reverseChar(strs);
printf("倒序后的字符串为:%s\n",strs);
reverseChar2(strs);
printf("再次倒序后的字符串为:%s\n",strs);

printf("------------------------------\n");

printf("本机是64位,int基本类型占用的字节数为:%d\n",sizeof(int));
printf("本机是64位,char基本类型占用的字节数为:%d\n",sizeof(char));
printf("本机是64位,long基本类型占用的字节数为:%d\n",sizeof(long));
printf("本机是64位,float基本类型占用的字节数为:%d\n",sizeof(float));

return 0;
}


运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐