나는 C++에서 실행될 때 인수를 받아 들일 수있는 일종의 계산기가있다. 그러나 인수로 7을 입력하면 변수에 넣을 때 10354가 될 수 있습니다. 여기 내 코드는 다음과 같습니다.C++ 용 정수 인수
#include "stdafx.h"
#include <iostream>
int main(int argc, int argv[])
{
using namespace std;
int a;
int b;
if(argc==3){
a=argv[1];
b=argv[2];
}
else{
cout << "Please enter a number:";
cin >> a;
cout << "Please enter another number:";
cin >> b;
}
cout << "Addition:" << a+b << endl;
cout << "Subtaction:" << a-b << endl;
cout << "Multiplycation:" << a*b << endl;
cout << "Division:" << static_cast<long double>(a)/b << endl;
system("pause");
return 0;
}
항상 최대 경고를 사용하도록 코드를 컴파일하십시오. gcc를 사용할 때'-Wall'. 필자는 컴파일러가 포인터를 정수로 변환하는 것에 대한 경고와 함께이 실수를 저지른 것으로 의심합니다. –
@deft_code? 어디 포인터에서 정수로 변환? 'main'은 단순히 타입 서명이 잘못되었습니다. –
참고로, 대부분의 수학자는 나누기 전에 0으로 분모를 확인해야합니다. 나는 그것이 불법이라고 들었다. 나는 프로그래밍 용어가 "정의되지 않은 행동"이라고 생각한다. 프로그램이 신호 또는 예외를 생성합니다. 세상이 무너질 수도 있습니다. 누가 알아? –