【发布时间】:2019-06-25 18:09:11
【问题描述】:
我正在尝试使用指针反转字符串,我猜这是一个非常标准的程序。
我尝试使用单个指针来执行此操作,这与我见过的人们使用两个指针作为开始和结束的其他方法不同。
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
void main()
{
clrscr();
char x[15];
cout<<"enter word";
gets(x);
int l=strlen(x);
char* p;
p=x[15];
for(int i=l-1;i>=0;i++)
{
p*=x[i];
p--;
}
puts(x);
getch();
}
我希望它可以工作,但它显示了一个错误,即它无法将 char* 转换为 char。我对指针很陌生,但我认为指针只是内存位置的别名,那么问题是什么?还是我错过了一些基本的东西?
【问题讨论】:
-
我很好奇你对
p*=x[i];的期望是什么? -
“尝试使用指针反转字符串,我猜这是一个非常标准的程序” - 不是真的。我想说使用
std::string和std::reverse 将是标准的东西.. -
#include<iostream.h>感觉就像时光倒流了 3 年。 -
@Eljay 很好。我已经适当地更改了标签。