나는 C에서 포인터와 함께 테스트를 만들고 있었다 변경 시도, 나는이 코드를 시도 할 때 :이 포인터 값
int main()
{
char * b = "abc";
char * c = b;
*c = *(b+1); //problem
printf("%s",c);
}
를 내가 주석 라인의 실수를 가지고, 내가 인쇄에 specting 있었는지는 영국 BBC이었다 포인터 할당이 작동하지 않는 이유는 무엇입니까?
문자열 리터럴을 수정하는 정의되지 않은 동작입니다. – hmjd
@BlueMoon dup에 대한 허용 된 대답은 실제로 꽤 나쁘다. OP는 키스의 대답을 받아들이지 않았다. 당신은 찾으려면 아래로 스크롤해야한다. –
@ShafikYaghmour 질문 *은 * dup이며 * 그 페이지에서 * 좋은, 정확한 답변입니다. 내가 닫을 것을 결정할 때 그것이 내가 관심을 갖는 전부이다. OP가 받아 들일 수있는 것은 I/누군가가 영향을 미칠 수있는 것이 아닙니다. –