[英]Basic questions on C++ operators?
我目前有這個代碼:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int a;
cout << "Enter a number for a: "; //Prompts the user for a and b inputs
cin >> a;
int b;
cout << "Enter a number for b: ";
cin >> b;
cout << "A is " << a << "\tB is " << b << end1;
cout <<"Sum of a and b is equal to " << a << "+" << b << "and the result is " << (a + b) << end1;
cout <<"Product of a and b is equal to " << a << "*" << b << "and the result is " << (a * b) << end1;
cout <<"a > b is " << a << ">" << b << "and the result is " << (a > b) << end1;
cout <<"a < b is " << a << ">" << b << "and the result is " << (a < b) << end1;
cout <<"a == b is " << a << "==" << b << "and the result is " << (a == b) << end1;
cout <<"a >= b is " << a << ">=" << b << "and the result is " << (a >= b) << end1;
cout <<"a <= b is " << a << "<=" << b << "and the result is " << (a <= b) << end1;
cout <<"a != b is " << a << "!=" << b << "and the result is " << (a != b) << end1;
return 0;
}
我收到這些錯誤
main.cpp: In function 'int main()':
main.cpp:10:44: error: 'end1' was not declared in this scope
我不確定我做錯了什么。
如上所述,編輯
end1
- > endl
( 助記符:行尾 ) <<
? 開頭 ) 在科利魯看到它
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int a;
cout << "Enter a number for a: "; //Prompts the user for a and b inputs
cin >> a;
int b;
cout << "Enter a number for b: ";
cin >> b;
cout << "A is " << a << "\tB is " << b << endl
<< "Sum of a and b is equal to " << a << "+" << b << "and the result is " << (a + b) << endl
<< "Product of a and b is equal to " << a << "*" << b << "and the result is " << (a * b) << endl
<< "a > b is " << a << ">" << b << "and the result is " << (a > b) << endl
<< "a < b is " << a << ">" << b << "and the result is " << (a < b) << endl
<< "a == b is " << a << "==" << b << "and the result is " << (a == b) << endl
<< "a >= b is " << a << ">=" << b << "and the result is " << (a >= b) << endl
<< "a <= b is " << a << "<=" << b << "and the result is " << (a <= b) << endl
<< "a != b is " << a << "!=" << b << "and the result is " << (a != b) << endl;
return 0;
}
輸出:
Enter a number for a: 3
Enter a number for b: 4
A is 3 B is 4
Sum of a and b is equal to 3+4and the result is 7
Product of a and b is equal to 3*4and the result is 12
a > b is 3>4and the result is 0
a < b is 3>4and the result is 1
a == b is 3==4and the result is 0
a >= b is 3>=4and the result is 0
a <= b is 3<=4and the result is 1
a != b is 3!=4and the result is 1
end1
應該是endl
否則會發生此錯誤。
該錯誤解釋了編譯器如何不知道end1
是什么,例如在范圍中找不到。 它只是一個錯誤拼寫的endl
,它確實存在於范圍內。
此外,您需要在每行前面使用cout
,或者在最終輸出之前不要使用分號。
第一個錯誤是因為你使用end1 <--- number 1而不是endl <--- lowercase L.
剩下的錯誤是因為你用分號終止了那一行。 如果你想繼續輸出作為一個長表達式,不要在末尾使用分號。 可能更具可讀性的是在每個行的開頭使用cout。 像這樣:
cout <<“A is”<< a <<“\\ tB is”<< b << endl; cout <<“a和b之和等於”<< a <<“+”<< b << <<“,結果是”<< a + b << endl; cout <<“a和b的乘積等於”<< a <<“*”<< b << <<“,結果是”<< a * b << endl;
你有;
在行尾,但開頭沒有cout
。 一旦你到達了;
在行尾,它是一個新的語句,並且編譯器不知道如何處理類似<<"a > b is " << a << ">"
,因為至少應該有東西的左<<
-和任何上的左,右<<
也應該是可以接受的運營商<<
。
通過在相關位置的<<
前面添加cout
來修復它 - 或者通過刪除它使其成為一個非常長的行;
- 但如果你有一個endl
,那么你也可以開始一個新的cout
線。
[正如其他人所指出的那樣, endl
與end1
]
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int a;
cout << "Enter a number for a: "; //Prompts the user for a and b inputs
cin >> a;
int b;
cout << "Enter a number for b: ";
cin >> b;
cout << "A is " << a << "\tB is " << b << endl;
cout <<"Sum of a and b is equal to " << a << "+" << b << "and the result is " << (a + b) << endl;
cout <<"Product of a and b is equal to " << a << "*" << b << "and the result is " << (a * b) << endl;
cout <<"a > b is " << a << ">" << b << "and the result is " << (a > b) << endl;
cout <<"a < b is " << a << ">" << b << "and the result is " << (a < b) << endl;
cout <<"a == b is " << a << "==" << b << "and the result is " << (a == b) << endl;
cout <<"a >= b is " << a << ">=" << b << "and the result is " << (a >= b) << endl;
cout <<"a <= b is " << a << "<=" << b << "and the result is " << (a <= b) << endl;
cout <<"a != b is " << a << "!=" << b << "and the result is " << (a != b) << endl;
return 0;
}
你寫了'end1'代表新行.bt正確的關鍵字是'endl'(行尾)。解決方案在上面......
這是解決方案....
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int a;
cout << "Enter a number for a: "; //Prompts the user for a and b inputs
cin >> a;
int b;
cout << "Enter a number for b: ";
cin >> b;
cout << "A is " << a << "\tB is " << b << endl;
cout <<"Sum of a and b is equal to " << a << "+" << b << "and the result is " << (a + b) << endl;
cout <<"Product of a and b is equal to " << a << "*" << b << "and the result is " << (a * b) << endl;
cout <<"a > b is " << a << ">" << b << "and the result is " << (a > b) << endl;
cout <<"a < b is " << a << ">" << b << "and the result is " << (a < b) << endl;
cout <<"a == b is " << a << "==" << b << "and the result is " << (a == b) << endl;
cout <<"a >= b is " << a << ">=" << b << "and the result is " << (a >= b) << endl;
cout <<"a <= b is " << a << "<=" << b << "and the result is " << (a <= b) << endl;
cout <<"a != b is " << a << "!=" << b << "and the result is " << (a != b) << endl;
return 0;
}
首先,它是endl
而不是end1
(最后一個char是L而不是1)
其次,你必須把cout
放在每一行的前面,這一行以<<
運算符開頭。 然后它會工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.