main()
{
int i=868,*p=&i;
int j;
int *q;
char *a="12345";
start:
system("cls");
j=737;
*q=j; //執行到這就有問題了
p r i n t f("\n&p=%p p=%p *p=%d\n",&p,p,*p);
p r i n t f ("\n&q=%p q=%p &j=%p *q=%d\n",&q,q,&j,*q);
p r i n t f ("\nsizeof(p)=%d sizeof(q)=%d sizeof(a)=%d\n\n\n",sizeof(p),sizeof(q),sizeof(a));
eoj:
system("pause");
goto start;
}
-------------------------------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int str_len(char *str),str_cpy(char *take,char *give);
main()
{
int len;
char *str,cpy[]="copied string", *p=cpy;
start:
p r i n t f ("\n請輸入一組字串:");
fflush(stdin);
gets(str); //執行到這就有問題了
p r i n t f ("\n字串 %s 其長度為:%d bytes.\n",str,str_len(str));
str_cpy(p,str);
p r i n t f ("\n複製後字串 %s \n",cpy);
exit:
p r i n t f ("\n");
system("pause");
goto start;
}
int str_len(char *p)
{
int i=0;
while(*(p+i)!='\0')
{
i++;
}
return i;
}
int str_cpy(char *take,char *give)
{
int i;
for(i=0;i<=str_len(give);i++)
{
*(take+i)= *(give+i);
}
}
-------------------------------------------------------------------------------------------------------
以上兩個練習用的程式,執行除錯時就會顯示:您的程式出現存取違規錯誤 (segmentation fault)
不知道程式是哪裡寫得有問題
初學者,還希望各位指導指導
作者: iseeyou 時間: 2012-2-22 09:59 AM
str 沒有空間配置給他. 作者: ILOVEYOUEVER 時間: 2012-2-22 10:11 AM
他不讓我直接回覆
自己下載添加附件吧作者: 0203650 時間: 2012-2-22 10:31 AM