个位大哥有一指针问题救救小弟~~~

raygtr 2003-11-28 08:40:03
还有一个字符数组 char name[];
现在想用C++将name数组的字符取反输出
比如:name[]="abcd";现在输出我想在显示器输出变成:"dcba"这样~~
不过有一要求~就是要用指针来实现~~~
这个问题具体怎么做呢??
个位大虾救救小弟好吗??
可以给出具体代码吗??
...全文
24 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
haosjt 2003-11-29
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <string>
using namespace std;

void main()
{
char str[] = "abcd";
int len = strlen(str);
char *p = str + len;
for (; p >= str; p-- )
cout << *p;
}
qufan 2003-11-29
  • 打赏
  • 举报
回复
#include "stdafx.h"
#include<iostream.h>
void turn(char *);
void main()
{
char name[]="abcd";
char *p = name;
turn(p);
cout << endl;
}
void turn(char *p)
{
if(*p!='\0')
turn(p+1);
else
return;
cout<<*p;
}
编译通过,结果正确
上面的循环条件改为*p也可以,因为'\0'==000;
bhdxia 2003-11-29
  • 打赏
  • 举报
回复
void turn(char *p)
{
if(*p)
turn(p+1);
else
return;
cout<<*p;
}
很欣赏这个。
liem 2003-11-29
  • 打赏
  • 举报
回复
下面的递归的
void turn(char *p)
{
if(*p)
turn(p+1);
else
return;
cout<<*p;
}
BigProblem 2003-11-29
  • 打赏
  • 举报
回复
别人需要就帮助啊!
ntxs 2003-11-29
  • 打赏
  • 举报
回复
我实在想不出这个题有什么递归的必要
BigProblem 2003-11-29
  • 打赏
  • 举报
回复
#include<iostream.h>
#include<string.h>
void Display(int nRestTimes , char const *pCh)
{
if(nRestTimes >= 0)
{
cout<< *(pCh+nRestTimes);
Display(nRestTimes - 1, pCh);
}
}
void main()
{
char name[]="C++";
int nStrLength = strlen(name) - 1;
Display(nStrLength,name);
cout << endl;
}
试试吧!
raygtr 2003-11-28
  • 打赏
  • 举报
回复
请改为用递归好吗??
winco 2003-11-28
  • 打赏
  • 举报
回复
呵呵,楼上算是什么oop精神啊,#◎※……×#¥
wangtong408 2003-11-28
  • 打赏
  • 举报
回复
#include <iostream>
#include <string>
using namespace std;
class aa{
public: aa(){
char *name="abcd";
int count=strlen(name)-1;
char *p = name + count;
for(int i=0;i<=count;++i)
cout << *p--;
cout << endl;}
};
void main()
{aa dd;
}
要体现oop的精神吗.
我也刚学.
raygtr 2003-11-28
  • 打赏
  • 举报
回复
能不能用递归的做法呢??
tonybaobao 2003-11-28
  • 打赏
  • 举报
回复
呵呵,搞笑搞笑,稍做修改就能……哎~~
zhouqingyuan 2003-11-28
  • 打赏
  • 举报
回复
#include<iostream.h>
#include<string.h>
void main()
{
char name[]="abcd";
int count = strlen(name);
char *p = name + count;
for(int i=0;i<count;++i)
cout << *(--p);
cout << endl;
}
inline 2003-11-28
  • 打赏
  • 举报
回复
#include<iostream.h>
#include<string.h>
void main()
{
char name[]="C++";
int count = strlen(name) - 1;
char *p = name + count;
for(int i=0;i<=count;++i)
cout << *p--;
cout << endl;
}

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧