| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1373 人关注过本帖
标题:帮忙看看这个程序问题出在哪
只看楼主 加入收藏
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
使用 malloc() 分配空间。

—>〉Sun〈<—
2007-12-03 20:11
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
/* 如下程序,使用 malloc() 分配空间。*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 10000000

int main(void)
{
    char * ar = NULL, ch;
    int n, i, j;
    ar = (char *)malloc(sizeof(char) * MAX); /* 为数组分配内存 */
    if(ar == NULL)
        exit(1);
    ar[0] = '\0';
   
    printf("请输入字符串: ");
    gets(ar);                  /* 足够大-_- */
   
    printf("请输入要如何移动: ");
    while(scanf("%d", &j) == 1)
    {
        while(getchar() != '\n');
        n = strlen(ar);
        j %= n;
        if(j < 0)
        {
            j *= -1;
            ch = ar[j];
            ar[j] = '\0';
            printf("%c%s%s\n", ch, &ar[j + 1], ar);
        }
        else if(j > 0)
        {
            ch = ar[n - j];
            ar[n - j] = '\0';
            printf("%c%s%s\n", ch, &ar[n - j + 1], ar);
        }
        else
            puts(ar);
            
        printf("请输入字符串: ");
        gets(ar);                  /* 足够大-_- */

        printf("请输入要如何移动: ");
    }
   
    free(ar);
    getchar();
    return 0;
}

[[italic] 本帖最后由 cosdos 于 2007-12-3 20:36 编辑 [/italic]]

—>〉Sun〈<—
2007-12-03 20:33
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 
但是我看了下别人的代码,他们并没有用malloc呀
也是直接
#define MAX 10000000
char ch[MAX]

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-12-03 21:12
快速回复:帮忙看看这个程序问题出在哪
数据加载中...
 
   



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

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