|
发表于 2016-9-8 14:14:45
|
显示全部楼层
本帖最后由 joker11111 于 2016-9-8 14:15 编辑
楼上已然说明了问题,不过看到这个题目,还是手痒实现下,毕竟代码要多敲,多敲,多敲。。。
- #include <stdio.h>
- #include <conio.h>
- void string_in(char pc[]);
- int main(void)
- {
- char string[20] = "abcde";
-
- printf("原字符串为:");
- puts(string);
- string_in(string);
- return 0;
- }
- void string_in(char pc[])//定义的一个函数,功能是读取一个字符串,并将字符串反序
- {
- char *pr = pc;
- int i,length = 0;
- char temp;
- while(*pr!= '\0')//求这个字符串的字符个数和最后一个字符的地址
- {
- pr++;
- length++;
- }
- printf("length = %d\n", length);
- printf("pr = %s\n", pr);//此时pr指在'\0'的位置,所以打印不出任何字符
- pr--;
- printf("pr = %s\n", pr);
- for(i=0; i < length/2; i++)//将最后一个字符的地址 取值并将值赋给字符串数组的第一个字符位置
- {
-
- temp = *pr;
- *pr = pc[i];
- pc[i] = temp;
- pr--;
-
- }
- printf("交换结果为:");
- puts(pc);
- }
复制代码
附上运行结果图:
|
|