#include <iostream>
#include <ctype.h>
#include <string>
using namespace std;
int main()
{
char input;
int id=0;
cin>>input;
while(input!='@')
{
cin>>id;
cout<<id;
cout<<input;
cin>>input;
}
return 0;
}
輸入:ffff(四個f)
列印:無限列印 0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
我期望輸出 70f70f(先輸出f的ascii碼,然后再輸出f字符),一個輸出四次。
因為代碼如下的話則輸出四個f。不明白上面的代碼為什么會無限回圈。
#include <iostream>
#include <ctype.h>
#include <string>
using namespace std;
int main()
{
char input;
cin>>input;
while(input!='@')
{
cout<<input;
cin>>input;
}
return 0;
}
輸入:ffff(四個f)
輸出:ffff(四個f)
uj5u.com熱心網友回復:
#include <iostream>#include <ctype.h>
#include <string>
using namespace std;
int main()
{
char input;
int id=0;
cin>>input;
while(input!='@')
{
cin>>id;
cout<<id;
cout<<input;
cin>>input;
}
return 0;
}
輸入:ffff(四個f)
列印:無限列印 0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
我期望輸出 70f70f(先輸出f的ascii碼,然后再輸出f字符),一共輸出四次。
因為代碼如下的話則輸出四個f。不明白上面的代碼為什么會無限回圈。
#include <iostream>
#include <ctype.h>
#include <string>
using namespace std;
int main()
{
char input;
cin>>input;
while(input!='@')
{
cout<<input;
cin>>input;
}
return 0;
}
輸入:ffff(四個f)
輸出:ffff(四個f)
uj5u.com熱心網友回復:
為什么兩個cin連用就出現問題了呢?uj5u.com熱心網友回復:
【補充疑問】1、 為什么運行到cin>>id;沒有等待輸入;
2、為什么第二個cin>>input;會一直讀取輸入流的第一個f。后續測驗,我輸入fabc,也是一直無限輸出0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/88625.html
標籤:基礎類
