我正在尝试使用指针逆转字符串,我想这是一个漂亮的标准程序。
我尝试使用单个指针进行此操作,与我看到的其他方法不同,人们在哪里使用两个指针进行开始和结束。
#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之前放置。
*p=x[i];
另外,当您分配p = x[15]
时,您正在删除x
(使其成为char
(并将其分配给p
(这是char*
(。