簡體   English   中英

C++ 逗號奇怪的數字行為

[英]C++ comma weird behavior with numbers

我有一個最簡單的代碼,它必須接受並重新打印兩個數字。 它適用於我嘗試過的任何分隔符號(空格、+ 等),除了 (.) 逗號。

cout << "Enter x & y coordinates: ";
cin >> x;
cin >> y;
cout << "Coordinates are (" << x << "," << y << ")" << endl;
  • 2 2 輸出 (2,2)
  • 2+2 輸出 (2,2)

  • 2.2 等待第二個數字

但是 2,2不會提示輸入第二個數字,而只會輸出 (2,0)。 為什么會這樣? 逗號 go 之后的東西在哪里?

它適用於我嘗試過的任何分隔符號(空格、+ 等),除了 (.) 逗號。

事實上,沒有。

  • 空格(包括制表符,eol)確實被忽略了。
  • 2+2是 2 個數字: 2+2 (因為數字可以以+-開頭)

在其他情況下, std::cin >> y會失敗,並在錯誤 state 中設置cin ,並將 y 設置為 0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM