| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 718 人关注过本帖
标题:windows 已在.exe 触发一个断点 是什么问题啊?
只看楼主 加入收藏
砍柴1990
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2014-9-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
windows 已在.exe 触发一个断点 是什么问题啊?
程序代码:
[local]2[/local][local]1[/local]#include <stdio.h>
#include <stdlib.h>
int main()
{
    char *array;
    int string_size=10;
    int i=0;
    int j;
    int c;
    array=malloc(string_size*sizeof(char));
    if(array==NULL)
    {
        printf("Can't get memory for that many values.\n");
        exit(EXIT_FAILURE);
    }
    while((c=getchar())!='\n')
    {
        *(array+i)=c;
        i++;
        if(i%string_size==0) //如果输入的字符数大于10
        {
             free(array); //释放指针
             array=malloc(string_size*sizeof(char)); //再次开辟一个数组
        }
    }
    for(j=0;j<i;j++)
        putchar(*(array+j));
    free(array);
    return EXIT_FAILURE;
}

 程序要实现的功能:动态输入字符串,当字符串的长度大于某个值得时候,这个程序中是10,用malloc函数再开辟一个大小为10的空间存放数组
大神帮忙看一下问题出在哪里了?


[ 本帖最后由 砍柴1990 于 2014-9-18 21:56 编辑 ]
搜索更多相关主题的帖子: windows include 断点 
2014-09-18 21:45
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:7 
你最终是想输出所有的吗

DO IT YOURSELF !
2014-09-19 09:34
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:7 
简单说说:
根据C的语法
 array=malloc(string_size*sizeof(char));改成
 array=(char *)malloc(string_size*sizeof(char));
2014-09-19 20:38
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
收藏
得分:7 
[local]2[/local][local]1[/local]#include <stdio.h>
#include <stdlib.h>
int main()
{
    char *array;
    int string_size=10;
    int i=0;
    int j;
    int c;
    array=malloc(string_size*sizeof(char));
    if(array==NULL)
    {
        printf("Can't get memory for that many values.\n");
        exit(EXIT_FAILURE);
    }
    while((c=getchar())!='\n')
    {
        *(array+i)=c;
        i++;
        if(i%string_size==0) //如果输入的字符数大于10
        {
             free(array); //释放指针
             array=malloc(string_size*sizeof(char)); //再次开辟一个数组

        }
    }
    for(j=0;j<i;j++)
        putchar(*(array+j));
    free(array);

    return EXIT_FAILURE;
}
再看看书,多考虑下

坚持----------------------------------唯一的道路
shit ! ! !
2014-09-19 21:40
快速回复:windows 已在.exe 触发一个断点 是什么问题啊?
数据加载中...
 
   



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

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