K & R 서적에서 64 페이지의 3 장에 itoa 코드가 있습니다. 코드를 컴파일하려고했지만 성공하지 못했습니다. 여기 코드는 다음과 같습니다예기치 않은 위반 행위 (itoa)
#include <iostream>
#include <conio.h>
using namespace std;
void itoa(int, char*);
int main(void) {
_getch();
char arr[100];
itoa(-18,arr);
_getch();
return 0;
}
void itoa(int n, char* s) {
int i, sign;
if ((sign = n) < 0) {
n = -n;
}
i = 0;
do {
s[i++] = n % 10 + '0';
} while ((n/10) > 0);
if (sign < 0) s[i++] = '-';
s[i] = 0;
//reverse(s);
}
출력 : 라인 25
액세스 위반입니다 :
s[i++] = n % 10 + '0';
'(n/10)'->'(n/= 10)' – BLUEPIXY
이것은 컴파일 오류가 아닙니다. –
확실히 [I ++]'는 한계를 벗어나지 않습니까? –