두 줄의 입력을 필요로하는 프로그램을 만들 필요가 있습니다. 각 입력은 불특정 한 숫자로 구성되어 있으며 각 입력은 별도의 vector (int *).여러 줄의 여러 줄 읽기 (숫자가 지정되지 않음) C
문자열을 사용하여 입력을 저장 한 다음 int로 변환 할 수 없습니다.
그것은, 리눅스 환경에서 일해야 실제로 나는 다음과 같은 코드로 Windows 용 그것을 해결했습니다:
int t,s1=0,s2=0;
char tx;
int* a=(int*)malloc(0);
int* b=(int*)malloc(0);
scanf("%i%c",&t,&tx);
while(tx!='\n')
{
a=(int*)realloc(a,sizeof(int)*(s1+1));
a[s1++]=t;
scanf("%i%c",&t,&tx);
}
a=(int*)realloc(a,sizeof(int)*(s1+1));
a[s1++]=t;
scanf("%i%c",&t,&tx);
while(tx!='\n')
{
b=(int*)realloc(b,sizeof(int)*(s2+1));
b[s2++]=t;
scanf("%i%c",&t,&tx);
}
b=(int*)realloc(b,sizeof(int)*(s2+1));
b[s2++]=t;
나는 적어도 나를 위해, 리눅스에 그것을 테스트하고 한, 그것은 아무튼 ' 일하지 마라.
감사합니다. 정말 고마워요.
C에서 void 포인터를 형 변환 할 필요가 없으며 어떤 방식 으로든 권장하지 않습니다. 그 쓸모없는 던지기를 그냥 제거하십시오. – alk
"* 작동하지 않습니다. *"는 다소 문제가있는 것으로보고 할 수 있습니다. 좀 더 구체적으로 말하십시오 : 당신은 무엇을 기대합니까? 너는 무엇을 얻 느냐? – alk
"vector (int *)"C++의 질문 일 수 있다고 생각합니다 ... –