弱弱的问下在C++栈的应用中出现的问题,我只是想把China倒过来输出, s.push(*a);要怎么改?这样出来的怎么是1

#include<iostream>#include<stack>#include<string>using namespace std;void main(){ char *a="China"; stack<char> s; for(int i=0;i<strlen(a);i++) s.push(*a); cout<<s.pop<<endl;}
2026年09月23日 22:30
有3个网友回答
网友(1):

#include
#include
#include
using namespace std;
void main(){
char *a="China";
stack s;
for(int i=0;i s.push(*(a+i));//将a数组的各个元素压入栈中

while(!s.empty())//当s非空的时候,输出栈首元素,并出栈
{
cout< s.pop();
}
return;
}

网友(2):

s.push(*a); 改成 s.push(a[i]); cout<

网友(3):

#include
#include
#include
using namespace std;
void main(){
char *a = "China";
stack s;
for(int i=0;i s.push(a[i]);
for(int i=0;i {
cout << s.top(); //返回栈顶元素
s.pop();//弹出栈顶元素
}
cout << endl;
}