全部问题 > 当前问题

能输出和要求一样的结果 但不给分...哪个地方出错了?

#include <stdio.h>

#include <ctype.h>


void fun(char *str)

{

int *temp;

while(*str)

{

if(*str==' ')

{

temp=str;

while(*str)

{

*str=*(str+1);

str++;

}

str=temp;

}

str++;

}

}


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) ;

}


Nope 2016-3-20 09:07:40

共 1 个回答

嘿嘿大人 2016-3-23 13:21:54

我觉得问题不大,只是如果你吧temp的定义改为字符串字符的定义比较好,比较人家str是字符串指针的定义

void fun(char *str)


{


char *temp;


while(*str)


{


if(*str==' ')


{


temp=str;


while(*str)


{


问题来自: 编程题真题