Я пытался найти причину, по которой следующий код дает сбой, но не нашел. Так что, пожалуйста, извините за мое незнание и дайте мне знать, что здесь происходит.
#include<stdio.h>
int main(void){
char* p="Hi, this is not going to work";
scanf("%s",p);
return 0;
}
Насколько я понял, я создал указатель p на непрерывную область в памяти размером 29 + 1 (для \ 0). Почему я не могу использовать scanf, чтобы изменить его содержимое?
PS Поправьте меня, пожалуйста, Если я что-то не так сказал про char *.