我写了一个简单的程序来反转一个字符串。现在我使用句号作为标记值来表示字符串的结尾。
相反,我想将其更改为空格以表示字符串的结尾。
然而,当我进行更改并运行程序时,它似乎没有识别出空白区域?
#include<iostream>
using namespace std;
const int DECLARED_SIZE = 100;
int main()
{
cout<<"Enter string:"<<endl;
char letter_box[DECLARED_SIZE],next;
int index = 0;
cin>> next;
while ((next!='.')&&(index<DECLARED_SIZE)) //when (next!=' ') <---the change
{
letter_box[index] = next;
index++;
cin>>next;
}
int number_used = index;
cout<<"The string reversed is:"<<endl;
for (index = number_used-1;index>=0;index--)
cout<<letter_box[index];
cout<<endl;
return 0;
}
答案 0 :(得分:0)
非常确定您正在运行空间作为默认的空白字符分隔符。基本上对于这种情况,空间不算作一个字符而不会被传回。您应该在tab中遇到相同的问题并输入。
char letter_box[DECLARED_SIZE];
std::cin.get(letter_box, sizeof(letter_box), ' ');
几乎可以做你想要的,但是需要点击输入,所以你也可以只使用输入。
char letter_box[DECLARED_SIZE];
std::cin.get(letter_box, sizeof(letter_box));