Почему эта маленькая программа на C аварийно завершается?

Программа выглядит так:

#include <stdio.h>
#include <stdlib.h>
int main(void) {
    char *a="abc",*ptr;
    ptr=a;
    ptr++;
    *ptr='k';
    printf("%c",*ptr);
    return 0;
}

Проблема в строке

*ptr='k';  

когда я ее удаляю программа работает нормально. Но я не могу понять причину.

0
задан Sunny88 9 January 2012 в 04:57
поделиться