C++的简单语句错在哪里?

来源:百度知道 编辑:UC知道 时间:2024/05/06 07:52:17
#include<iostream>
#include<string>
using namespace std;
int main()
{
char str[10];
int i,j;
cin>>str[i];
j=strlen(str);
for(i=0;i<j;j--)
cout<<str[j];
cout<<endl;
system("pause");
return 0;
}

#include<iostream>
#include<string>
using namespace std;
int main()
{
char str[10];
int i,j;
cin>>str;
j=strlen(str);
for(i=0;i<j;i++)
cout<<str[i];
cout<<endl;
system("pause");
return 0;
}

char str[10];

已经定义了str[10]。

为什么又要

cin>>str[i];

而且你也没有初始化str[10]。

cout<<str[j];
让这句怎么输出?

cin>>str这里出错
i没有初直

for(i=0;i<j;j--)
cout<<str[j];
cout<<endl;
这句话可以写成一句 cout<<str<<endl;

i 没初始化,从理论上来讲str[]也没有初始化成功。

你至少应该这么写:
char ch;
i = 0;
while (i < 10 && cin >> ch)
{
str[i] = ch;
++i;
}

#include<iostream>
#include<string>
using namespace std;
int main()
{
char str[10];
int i,j;
cin>>str[i]; //错误一:i局部变量,编译器