xiaoshuai666 发表于 2016-9-11 10:36:34

形参指针,数组

哪位大神看看我编写的这个fun函数,在逻辑上哪里有错,请指点



#include <stdio.h>
#include <string.h>
void fun(char *s, char t[])
{
      int i=0;
      while(*s)
      {
                if((*s%2==0)&&(i%2==0))
                {
                        t=*s;
                        i++;
                }
                s++;
      }
      t='\0';
}
main()
{
char s, t;
void NONO ();
printf("\nPlease enter string S:"); scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
char s, t ;
FILE *rf, *wf ;
int i ;
rf = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
    fscanf(rf, "%s", s);
    fun(s, t);
    fprintf(wf, "%s\n", t);
}
fclose(rf);
fclose(wf);
}

mdgsf 发表于 2016-9-11 10:49:56

#include <stdio.h>
#include <string.h>

void fun(char s[], char t[])
{
        int i = 0;
        while (*s)
        {
                if((*s % 2 == 0) && (i % 2 == 0))
                {
                        *t = *s;
                        t++;
                }
                i++;
                s++;
        }
        *t = '\0';
}

int main()
{
        char s = {0};
        char t = {0};
        scanf("%s", s);
        fun(s, t);
        printf("%s\n", t);
}

Krant5 发表于 2016-9-11 12:43:34

i++要放在外面,不然万一没进if分支不就少加了

xiaoshuai666 发表于 2016-9-11 14:58:41

mdgsf 发表于 2016-9-11 10:49


多谢大神指点

xiaoshuai666 发表于 2016-9-11 15:00:05

Krant5 发表于 2016-9-11 12:43
i++要放在外面,不然万一没进if分支不就少加了

谢谢了,一句话点破
页: [1]
查看完整版本: 形参指针,数组