用vc++写出的程序提示“遇到问题需要关闭”,怎么解决

用vc++写出的程序提示“遇到问题需要关闭。我们对此引起的不便表示抱歉。”#include"stdio.h"#include"string.h"voidfun(char*... 用vc++写出的程序提示“遇到问题需要关闭。我们对此引起的不便表示抱歉。” #include "stdio.h" #include "string.h" void fun(char *a,char m) { int i,j=0,n=strlen(a); char *p=a; for(i=0;i<n;i++) if(p[i]!=m) a[j++]=p[i]; a[j]='\0'; } main() { char *a="abcdefadsf",b; puts(a); printf("b:"); scanf("%c",&b); fun(a,b); puts(a); } 用win-tc一切正常 高手指点一下。 展开
 我来答
录斯粥2027
2014-07-19 · 超过70用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:129万
展开全部
问题解决了 char *a="abcdefadsf",b; 因为这里的字符串是直接用指针表示的,而指针不具备索引功能,所以只要改成 char a[] = "abcdefadsf", b;就行了。 虽说数组名也是指针,但它比一般的指针多一个索引功能,而且它还是常量,这在书上的数组与指针中有讲到。
全球1D8
2014-07-19 · 超过63用户采纳过TA的回答
知道答主
回答量:118
采纳率:0%
帮助的人:160万
展开全部
a指向的是一个常量字符串啊?怎么可能可能对其内容进行修改呢?? 肯定会出错的吧?? 而且把修改放到函数里去执行,更是把错误给隐藏起来了。 你应该可以把a指向的内容做一份拷贝,那就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式