#include<iostream>
using namespace std;
int main(){
char sampleName[30];
char middle;
int i;
cin>>sampleName;
for(i=0;i<30;i++){
if(sampleName[i]=='.'){
middle=sampleName[i-1];
break;
}
}
cout<<middle;
return 0;
}
当输入中有空格时,它似乎不起作用。请。任何人都可以帮助我吗?
答案 0 :(得分:1)
我不完全确定您的预期输入是什么,但您可能希望调查std::getline
(与std::string
一起使用)以避免std::cin >> ...
出现空白问题。 (参见here进行相关讨论。)
所以,形式
#include <iostream>
#include <string>
int main()
{
std::string sampleName;
char middle;
std::getline(std::cin, sampleName);
for (int i = 0; i < sampleName.size(); i++)
{
if (sampleName[i] == '.')
{
middle = sampleName[i-1];
break;
}
}
std::cout << middle << std::endl;
return 0;
}
可能效果最好。 (单击here进行测试。)
答案 1 :(得分:0)
你有getline函数来加入一行空格。您输出错误,因为您的程序没有正确输入空格。