| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 473 人关注过本帖
标题:编译通过 无法连接 求解
只看楼主 加入收藏
新手菜鸟鸟
Rank: 2
等 级:论坛游民
帖 子:37
专家分:57
注 册:2012-1-15
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:8 
编译通过 无法连接 求解
#include <stdio.h>
void deletespace(char [],int);
int main()
{
    int n,i;
    char *strs[100];
    scanf("%d",&n);
    for (i=0;i<n;i++)
    {
        gets(strs[i]);
    }
    deletespace(strs[100],n);
    for (i=0;i<n;i++)
    {
        printf("%s\n",strs[i]);
    }
    return 0;
}
void deletespace(char *strs[100],int n)
{
    int i=0,j=0,p;
    for (;i<n;i++)
    {
        for (;strs[i][j]!='\0';j++)
        {
            if (strs[i][j]==' '&&strs[i][j+1]==' ')
            {
                for (p=j;strs[i][p]!='\n';p++)
                {
                    strs[i][p]=strs[i][p+1];
                }
            }
        }
    }
}代码就是这些了  具体作用是输入几个字符串 然后删除其中的多余的空格 ~
一个无法解析的外部命令

搜索更多相关主题的帖子: include void return 
2012-05-13 16:48
love24114
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:223
专家分:399
注 册:2011-7-11
收藏
得分:5 
#include <stdio.h>
void deletespace(char *strs[100],int);
int main()
{
    int n,i;
    char *strs[100];
    scanf("%d",&n);
    for (i=0;i<n;i++)
        gets(strs[i]);
    deletespace(strs,n);
    for (i=0;i<n;i++)
        printf("%s\n",strs[i]);
    return 0;
}
void deletespace(char *strs[100],int n)
{
    int i=0,j=0,p;
    for (;i<n;i++)
    {
        for (;strs[i][j]!='\0';j++)
        {
            if (strs[i][j]==' '&&strs[i][j+1]==' ')
            {
                for (p=j;strs[i][p]!='\n';p++)
                {
                    strs[i][p]=strs[i][p+1];
                }
            }
        }
    }
}还有逻辑错误,要我给你找吗?
2012-05-13 17:07
新手菜鸟鸟
Rank: 2
等 级:论坛游民
帖 子:37
专家分:57
注 册:2012-1-15
收藏
得分:0 
回复 2楼 love24114
我单步试了下 每次运行到gets那一句的时候就突然停止了  是怎么回事啊?
2012-05-13 17:49
qwermy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:34
专家分:160
注 册:2011-12-3
收藏
得分:5 
输入改为
    char str[100][200];
    char *strs[100];
    for( i = 0; i < n; i++ )
    {
        fflush( stdin );   //清空输入缓冲
        strs[i] = str[i];
        gets( str[i] );
    }
deletespace( ..... )中应该有错误吧``
2012-05-13 19:01
qidian123
Rank: 2
等 级:论坛游民
帖 子:19
专家分:34
注 册:2012-4-18
收藏
得分:5 
看不懂啊

www.jiajunyuanlin.com  www.futegz.comjtiao.com
2012-05-13 19:09
新手菜鸟鸟
Rank: 2
等 级:论坛游民
帖 子:37
专家分:57
注 册:2012-1-15
收藏
得分:0 
回复 4楼 qwermy
为什么要这样输入呢?gets不能直接作用于指针数组中的元素么?
2012-05-13 20:35
dzp1018
Rank: 2
等 级:论坛游民
帖 子:43
专家分:92
注 册:2012-3-15
收藏
得分:5 
编译通过!无法连接是 你以前打开了这个文件! 然后改动了下 ,再编译 再连接的时候没关闭你先前 打开的 .EXE文件。。。你关闭下就可以了
 
2012-05-13 22:44
新手菜鸟鸟
Rank: 2
等 级:论坛游民
帖 子:37
专家分:57
注 册:2012-1-15
收藏
得分:0 
回复 7楼 dzp1018
不是这个问题啊  重新试了试还是不行
2012-05-14 19:15
qwermy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:34
专家分:160
注 册:2011-12-3
收藏
得分:0 
    char *strs[100];
    strs[i]是指针, 要先赋值再使用。和 char *s; scanf( "%s", s ); 一样。
#include <stdio.h>
#include <string.h>
#define SIZE 80
#define N 5
int main( void )
{
    void deletespace( char *p[], int n );
    char input[N][SIZE];
    char *p_str[N];
    int i;
   
    for( i = 0; i < N; i++ )
    {
        p_str[i] = input[i];
        gets( input[i] );
    }
    ststr( p_str, i );

    for( i = 0; i < N; i++ )
    {
        puts( input[i] );
    }
return 0;
}

void deletespace( char *p[], int n )
{
    char *temp;
    int i, j;

    for( i = 0; i < n; i++ )
    {
        temp = p[i];
        while( temp[1] != '\0' )
        {
            if( *temp == ' ' && temp[1] == ' ' )
            {
                for( j = 1; temp[j] != '\0'; j++ )
                {
                    temp[j] = temp[j+1];
                }
                temp--;
            }
            temp++;            
        }
    }
}

2012-05-24 11:24
快速回复:编译通过 无法连接 求解
数据加载中...
 
   



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

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