| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 428 人关注过本帖
标题:[求助]没有语法错误,可是执行不了,怎么办!
只看楼主 加入收藏
xiaxun
Rank: 1
等 级:新手上路
帖 子:207
专家分:7
注 册:2009-8-30
结帖率:79.31%
收藏
已结贴  问题点数:20 回复次数:5 
[求助]没有语法错误,可是执行不了,怎么办!
大家好,下面是我自己写的代码,编译器没有语法错误!
可是执行的时候,就弹出对话框说 内存错误!
我该怎么办
xiexie !

void main()
{
    char *p;
    char a[] = {1,2,3,4,5,6,7,8,9,0};
    char even[20];
    char odd[40];
    int n,m;
    n=m=0;
    p=a;
    while(*p)
    {
        if((*p-'0')%2!=0)
        {
            odd[n++]=*p;
        }
        else
        {
            even[m++]=*p;
        }        
    }
     strcat(odd,even);
    odd[n+m-1]='\0';
    printf("%s",odd);
}
搜索更多相关主题的帖子: xiexie 编译器 对话框 
2011-03-19 14:56
瓦药墙
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:218
专家分:556
注 册:2009-9-16
收藏
得分:10 
死循环, 下标越界
2011-03-19 15:08
瓦药墙
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:218
专家分:556
注 册:2009-9-16
收藏
得分:0 
p一直指向了a[0]

while(a[0])   <- 死了
2011-03-19 15:11
瓦药墙
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:218
专家分:556
注 册:2009-9-16
收藏
得分:0 
#include <stdio.h>
#include <string.h>

void main()
{
    char *p;
    char a[] = {1,2,3,4,5,6,7,8,9,0};
    char even[20];
    char odd[40];
    int n,m;
    n=m=0;
    p=a;
    while(*p)
    {
        if((*p)%2!=0)
        {
            odd[n++]=*p + '0';
        }
        else
        {
            even[m++]=*p + '0';
        }
        p++;
    }
    odd[n] = 0;
     strcat(odd,even);
    odd[n+m-1]='\0';
    printf("%s\n",odd);
}
2011-03-19 15:17
刘定邦
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:687
专家分:1570
注 册:2010-9-21
收藏
得分:10 
while循环里。应该还要有使while停止循环的语句。不然一直在循环。你在while循环里加个p++看看。
2011-03-19 15:23
xiaxun
Rank: 1
等 级:新手上路
帖 子:207
专家分:7
注 册:2009-8-30
收藏
得分:0 
谢谢大家!
2011-03-19 15:25
快速回复:[求助]没有语法错误,可是执行不了,怎么办!
数据加载中...
 
   



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

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