【发布时间】:2015-01-24 19:03:14
【问题描述】:
int main(){
char check[256], c;
int ch=0;
cin >> check;
while (check[ch]){
c = check[ch];
if (isalpha(c))putchar(c);
ch++;
}
}
如果例如check[256] 是“this and this”,程序只会打印“this”,这意味着它在第一个空格处停止,第一个问题是为什么,第二个问题是有没有办法停止它所以它会打印“this and this”还是“thisandthis”?
【问题讨论】:
-
请阅读this。我的猜测是您的输入例程没有按照您的想法执行。
-
有有个错误。而且您等待找到它们的时间越长,您的程序产生垃圾的时间就越长。发布重现您的问题所需的最短代码。注意:当我将最短的代码粘贴到编译器中时,它应该编译!。这意味着应该有一个
main。 -
简而言之:尝试编写一个仅读取整行用户输入的程序。
-
cin >> string_variable 是格式化输入,忽略空格的前导和停止
-
有没有办法让 cin >> string_variable 不停止在空格或任何其他可以工作的函数?