愿你 发表于 2018-9-10 09:20:02

我的fun函数有错吗

{:10_243:} {:10_277:}

#include <stdio.h>
#include <string.h>
#define   N    80
void fun (char*w,intm)
{
       

        char c;
        int len=0;
        while(w!='\0')
        {
                len++;
        }
        printf("该字符串长度为%d",len);
        int i , j;
        for (i = 0 ; i < m ; i++)
                c = 0;//初始化
        for (j = 0 ; j < m ; j++)//暂存需要往后移动的m个字符
                c = w;

        for (i = m ; i < len ; i++)//把m+1到最后的字符往前移
                w = w;

        for (j = len-m,i=0 ; j < len ; j++,i++)
        {
                w = c;
        }

        printf("移动后:");
        for(i=0;i<len;i++)
        {
                printf("%c ",w);
        }

}
void main()
{
FILE *wf;
chara= "ABCDEFGHIJK",b= "ABCDEFGHIJK";
intm;
printf("The origina string :\n");
puts(a);
printf("\n\nEnterm: ");
scanf("%d",&m);
fun(a,m);
printf("\nThe string after moving :\n");
puts(a);
printf("\n\n");
/******************************/
wf=fopen("out.dat","w");
fun(b,3);
fprintf(wf,"%s",b);
fclose(wf);
/*****************************/
}

jackz007 发表于 2018-9-10 10:43:05

本帖最后由 jackz007 于 2018-9-10 12:17 编辑

    可以很负责任地告诉你,确实有错,问题点为:

      for (j = len-m,i=0 ; j < len ; j++,i++)
      {
                w = c;
      }

       w = c ;   2 个数组居然使用了相同的索引下标,你说有没有问题?

      应该这样改:

          for(i = 0 ; i < m ; i ++) w = c ;
      w = 0                                    ;


    另外,你的代码不够简洁,下面是完全按照你的思路给出的 fun()

void fun(char * w , const int m)
{
    char c                                       ;
    int i , len = 0                                 ;
    while(w) len ++                            ;
    printf("该字符串长度为%d\n" , len)               ;
    for(i = 0 ; i < m ; i ++) c = w         ;
    for(i = m ; i < len ; i ++) w = w   ;
    for(i = 0 ; i < m ; i ++) w = c ;
    w = 0                                    ;
    printf("移动后:")                               ;
    for(i = 0 ; i < len ; i++) printf("%c" , w);
    printf("\n")                                    ;
}

    你可以试一试,看看是不是你需要的,希望能解决你的问题。

愿你 发表于 2018-9-20 21:03:25

jackz007 发表于 2018-9-10 10:43
可以很负责任地告诉你,确实有错,问题点为:




是我需要的!!!!!!!!!!!!!!! 太棒啦~
谢谢{:10_297:}{:10_297:}
页: [1]
查看完整版本: 我的fun函数有错吗