0
atoi, strol 및 stoi를 시도했지만 그 중 누구도 나를 위해 일하지 않습니다. 나는 심지어 일해야한다고 들었던 숯불에서 '0'을 빼내려고했지만 오류도 던졌다. atoi는 나에게 Segmentation Fault를 주었고 strol은 컴파일되지 않았고 stoi는 std logic error를 주었다.argv 인수를 int로 변환
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
bool isPrime(int);
int main (int argc, char *argv[])
{
const int size = 199;
int counter = 1;
int primeAry[size];
for (int i = 0; i < size; i++) // creates an array of prime numbers
{
if (isPrime(i))
{
primeAry[counter] = i;
counter++;
}
}
for (int j = 1; j <= argc; j++) // finds prime numbers by index of args and displays them
{
if (j == 1)
cout << "Last name is " << argv[j] << endl;
else
{
int temp = atoi(argv[j]);
cout << temp << " th prime number is " << primeAry[temp] << endl;
}
}
system("pause");
return 0;
}
bool isPrime(int num)
{
if(num <= 1)
return false;
else if (num <= 3)
return true;
else if (((num % 2) == 0) || (num % 3) == 0)
return false;
int i = 5;
while((i*i) <= num)
{
if ((num % i == 0) || ((num % (i + 2)) == 0))
return false;
i = i + 6;
}
return true;
}
그리고 여기 얻을 결과 : 여기 내 전체 프로그램은 지금의 같다
Last name is smith
1 th prime number is 2
2 th prime number is 3
3 th prime number is 5
Segmentation Fault
영원히이 작업을 봤는데 내가 할 수있는 모든 포럼을 검색 한 찾을 수 있지만 내가 무엇을 놓치고 있는지 알아낼 수 없습니다.
감사합니다. 나는 그것이 엄청나게 단순한 것이라고 생각했다. – MadelineStates