#include <iostream>
using namespace std;
struct parts {
int partNumber;
int partPrice;
} parts p;
void main() {
cout << "Enter part number and its price " << endl;
cin >> p.partNumber;
cin >> p.partPrice;
cout << "Part Number " << p.partNumber << "Part Price " << p.partPrice;
}
如果我输入部件号&#34; 098&#34;和部分价格&#34; 3456&#34;,输出为:Part Number 98 Part Price 3456
为什么输入&#34; 098&#34;输出为&#34; 98&#34;?
答案 0 :(得分:3)
因为您输入的号码是98
。这是97
以上的数字和99
以下的数字。伯爵。数量。一个抽象的概念。
int
NOT 是一串数字。它不是'9'
后跟'8'
,或'0'
后跟'9'
后跟'8'
。
当您考虑如何在计算机中存储数字时,这是完全合理的:二进制。为什么将十进制输入转换为二进制的计算机会分别存储您输入的前导零的数量?这不是它的作用,因为没有必要。
我一般建议存储一个&#34;部件号&#34;作为一个字符串,因为&#34;数字&#34;元素正是它用英语调用的,并没有真正准确地揭示是的价值:正如你所说,你希望它是一串字符。如果没有别的,我会经常遇到&#34;部分号码&#34;带有字母。
答案 1 :(得分:0)
如果前导零是有意义的,那么你应该存储你的&#34;数字&#34;作为字符串,而不是整数。你的号码&#34;并非真正的数字 - 数字098
与数字98
相同,但字符串098
与字符串98
不同。