include<stdio.h>
int main()
{
    //char b[10];
    char *a="goodone";
    //a=b;
    scanf("%s",a);//this scanf fails and thow segmentation fault.
    printf("%s",a);
} 
Почему это не работает? Я много пробовал с этим scanf, но, когда я резервирую память для своей переменной a * (назначая a = b (прокомментированный)), она отлично работает. В противном случае это не так. Я считаю, что char * a выделит некоторую память для своей строки ( "goodone" ) и вернет эту ячейку памяти в ее значение. И printf отлично работает с этой верой, почему scanf нет? пожалуйста, спаси меня от этого....
