如何修复C ++中的“无法将char转换为char *”错误?

时间:2019-06-25 18:09:11

标签: c++ pointers turbo-c++

我正在尝试使用指针来反转字符串,这是一个非常标准的程序。

我尝试使用单个指针执行此操作,这与我见过的其他方法不同,在其他方法中,人们使用两个指针作为开始和结束位置。

#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。我对指针还很陌生,但是我认为指针只是存储位置的别名,所以这是什么问题?还是我缺少基本的东西?

1 个答案:

答案 0 :(得分:2)

将星号放在p之前以取消引用。

*p=x[i];

此外,当您分配p = x[15]时,您将取消引用x(使其成为char)并将其分配给p(即{{1 }}。