我的为什么不行啊
Cinderalla 圈内达人 2017-08-25 21:25:26
1628 2 0

#include <stdio.h>

#include <ctype.h>


void fun(char *str)

{

int i,j=0;

for(i=0;i<strlen(str);i++)

if(str[i]=' ')

{

str[j++]=str[i];

}

str[j]=0;

}


main()

{

  char str[81];void NONO ();


  printf("Input a string:") ;

  gets(str);

  puts(str);

  fun(str);

  printf("*** str: %s\n",str);

  NONO();

}


void NONO ()

{

/* 请在此函数内打开文件,输入调试数据,调用 fun 函数,

   输出数据,关闭文件。 */

  char str[81];

  int n = 0;

  FILE *rf, *wf ;


  rf = fopen("in.dat","r") ;

  wf = fopen("out.dat","w") ;

  while(n < 10) {

    fgets(str, 80, rf);

    fun(str);

    fprintf(wf, "%s", str) ;

    n++ ;

  }

  fclose(rf) ;

  fclose(wf) ;

}


问题来自: 编程题真题

共 2 个回答

    qqq 资深元老 助教 3215天前

    if(str[i]=' ')

    {

    str[j++]=str[i];

    }

    这啥意思?保留空格吗?就算保留空格你也得写==啊。。题目要删除空格,应该写!=表示不等于空格时才保留。

    啊啊啊Awhen 知名达人 3201天前

    回复 qqq

    void fun(char *str)

    {

    int i,j=0,n;

    char *b;

    n=strlen(str);

    for(i=0;i<n;i++)

    {

    if(str[i]!=' ')

    b[j++]=str[i];

    }

    b[j]=0;

       strcpy(*str,*b);

    老师我和他写得差不多怎么不对啊!!!


您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题