2013-05-19 68 views
-2

我有一个奇怪的问题,简单的程序,F.E.C++“的cout <<号”的结果与打印“号%”屏幕

main() 
{ 
    int i=1; 
    std::cout << i; 
} 

结果与

1% 

在屏幕上。我无法摆脱那个“%”。有谁知道发生了什么事?我在Arch Linux上使用g ++(GCC)4.8.0 20130502。

+0

这不是真正的C++。函数必须有返回类型。 –

+1

如果您将“<<”\ n“;”添加到第二行,会发生什么情况?是“%”是提示的一部分吗? – Begelfor

回答

5

的“%”是不是从程序 - 这是您从运行它的外壳。

尝试

std::cout << i << std::endl; 
+0

(在声明的中间删除';') –

+0

对于'std :: endl'! :) –

+0

@WayneUroda - 只是好奇 - 为什么为'endl' +1? – user93353

2

是在%你的shell提示?

如果是这样,你cout线改为

std::cout << i <<'\n'; 

运行echo $PS1在你的shell,看看有什么是你的提示。

你原来的程序打印1 &然后外壳打印的%提示。

+0

谢谢你!我很简单... – user2398677