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 нет? пожалуйста, спаси меня от этого....