读书人

字符指标初始化有关问题

发布时间: 2013-09-28 10:01:20 作者: rapoo

字符指标初始化问题
大家好,
我想请问一下下面的这个代码,为什麽字符指标 ps没有初始化的话,就会产生
Segmentation Fault ?

main(){
char st[20],*ps;
int i;
printf("input a string:\n");
ps=st;
scanf("%s",ps);
for(i=0;ps[i]!='\0';i++)
if(ps[i]=='k'){
printf("there is a 'k' in the string\n");
break;
}
if(ps[i]=='\0') printf("There is no 'k' in the string\n");
}
c
[解决办法]

for(i=0;ps[i]!='\0';i++)
//没有初始化,这里可能一直都没有遇到结束符'\n', 就会越界访问了
//就段错误了

读书人网 >C语言

热点推荐