2016-12-07 65 views
1

後我已經寫了一小塊的代碼組合COUTscanf的其中COUT打印一個語句,然後scanf的讀一個值的整數變量年齡。但是,只有當我爲年齡和按下輸入值輸入一些值時,纔會打印該聲明。請找到下面的代碼。我想在cpp.sh調用的scanf COUT

#include <iostream> 
#include <cstdio> 

int main(){  
int age; 
std::cout << "Please enter your age: "; 
scanf("%d", &age); 
std::cout << "Hello, your age is: " << age << std::endl; 
return 1; 
} 
+0

多數民衆贊成如何它應該正常工作? –

+2

使用'flush':'std :: cout <<「請輸入您的年齡:」<< std :: flush;'。 –

+0

@πάνταῥεῖ我認爲最好將您的評論轉換爲答案並提供更多詳細信息 – alexeykuzmin0

回答

1

這個代碼,但並沒有被打印的聲明,直到我進入了年齡,然後按回車一定的價值。

這是因爲任一達到一定長度或顯式flush()呼叫被施加std::cout緩衝器輸出。

如此給力輸出提示行寫:

std::cout << "Please enter your age: " << std::flush; 
0

替代方式,可以把性病:: ENDL;在

std::cout << "Please enter your age:"<<std::endl; 

std :: endl將輸出一個換行符並刷新流。