C++问题 编译错误

来源:百度知道 编辑:UC知道 时间:2024/05/02 16:52:54
#include<iostream>
#include<string.h>
using std::cout;
using std::cin;
using std::endl;

int main()
{
char stringtemp[1024];
char * str;

cout << "Enter a string: " << endl;
cin << stringtemp;

int len=(int)strlen(stringtemp);
str = new char(len);
strcpy(str , stringtemp);
delete [] stringtemp;

for (int i=len; i > 0; i--)
{
cout << *str[i-1] ;
delete str[i-1];

}
cout << endl;
return 0;
}

什么错误?
笔误
反过来也不对

cin>>,方向反了
数组不能delete,把delete[] stringtemp去掉
str[i-1]是字符,没有前面的*,并且不能delete

<< 方向写反了吧...
>>

....
cin << stringtemp;
>>

对照自己程序,看哪出现问题了
#include<iostream>
#include<string.h>
using std::cout;
using std::cin;
using std::endl;

int main()
{
char stringtemp[1024];
char * str;

cout << "Enter a string: " << endl;
cin >> stringtemp;

int len=(int)strlen(stringtemp);
str = new char(len);
strcpy(str , stringtemp);

for (int i=len; i > 0; i--)
{
cout << str[i-1] ;

}
delete[]str;
cout << endl;
return 0;
}