10 진수를 다른 기지의 해당하는 10 진수로 변환하는 프로그램을 작성하고 있지만 실행하려고하면 분할 오류가 계속 발생합니다.while 루프의 세그먼트 오류 (C)
이 지금까지 코드 :
while ((num % base) > 1) {
:
#include <stdio.h>
int base;
int num;
char* num2[50];
int x =0;
int main(){
printf("Input a number in base 10 and a base (2-16) that you would like to convert to in this format: 100 2\n");
fflush(stdout);
scanf("%d%d",&num, &base);
printf("%d%d", num, base); fflush(stdout);
while ((num % base) > 1){
printf("%d", x); fflush(stdout);
if(num % base == 10)
num2[x] = "A";
else if (num % base == 11)
num2[x] = "B";
else if (num % base == 12)
num2[x] = "C";
else if (num % base == 13)
num2[x] = "D";
else if (num % base == 14)
num2[x] = "E";
else if (num % base == 15)
num2[x] = "F";
else
*num2[x] = num % base;
num = num % base;
x++;
printf("%d, %s", num, num2[x]); fflush(stdout);
}
while (x >= 0){
printf("%s", num2[1]);
fflush(stdout);
x--;
}
printf("\n");
fflush(stdout);
return 0;
}
gdb를 인쇄 문으로 오류를 확인을 통해, 나는 오류가 라인 14 일에서 유래한다는 결론에 도달했습니다
저는 C에 비교적 익숙합니다. 제가 한 일은 대부분 Java에있었습니다.
당신의 진단이 마크를 많이 놓치기 때문에 GDB를 더 잘 사용하는 법을 배워야합니다. http://users.ece.utexas.edu/~adnan/gdb-refcard.pdf –
나는 학생이며 수업에서 만 간략하게 논의되었다. 심판 카드를 보내 주셔서 감사합니다. 장래에 반드시 도움이 될 것입니다. – Root21