标题:为什么不是有效的Win32应用程序?
只看楼主
赤云
Rank: 2
等 级:论坛游民
帖 子:82
专家分:35
注 册:2014-12-29
结帖率:64.71%
已结贴  问题点数:18 回复次数:2 
为什么不是有效的Win32应用程序?
#include <stdio.h>
#include <string.h>
void fun(char* p);
int main()
{
    char *a="def35adh3kjsdf7";
    fun(a);
    puts(a);
    return 0;
}
void fun(char* p){
    int i,len,l;
    char *p1=p,t;
    len=strlen(p);
    for(;p<p1+len;p++){
       if(*p>='0'&&*p<='9')l=p-p1;
       if(*p>='a'&&*p<='z')continue;
       for(i=len-1;i;i--)
       if(*(p1+i)>='a'&&*(p1+i)<='z'){
          t=*(p1+i);
          *(p1+i)=*(p1+l);
          *(p1+l)=t;
       }
    }
}

搜索更多相关主题的帖子: 应用程序 include return 
2015-02-07 16:39
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
得分:18 
debug的时候你会发现提示”Unhandled exception 0xC0000005;Access Violation“
程序运行到*(p1+i)=*(p1+l);出错,原因就是你定义了字串常量,程序试图改变字符串常量的内容,这是不允许的。

如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2015-02-07 17:07
赤云
Rank: 2
等 级:论坛游民
帖 子:82
专家分:35
注 册:2014-12-29
得分:0 
谢谢   太厉害了
2015-02-07 17:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-441859-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015432 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved