以下程序的功能为: 将字符数组a的所有字符传送到字符数组b中,要求每传送3个字符后再存放一个空格, 例如字符串a为“abcdef”,则字符串b为“abc def g”。

以下程序的功能为:
将字符数组a的所有字符传送到字符数组b中,要求每传送3个字符后再存放一个空格,
例如字符串a为“abcdef”,则字符串b为“abc def g”。


#include 

main()

{  int i,k=0;  char a[80],b[80],*p;

   p=a;

   gets(p);

   while(*p)//这里的i,k要注意看一看

   {  for (i=1;     (i-1)%3!=0||i-1==0     ;p++,k++,i++)

      {

         if (     (i-1)%3==0     ) { b[k]=' '; k++;}

         b[k]=*p;

      }

   }

   b[k]='\0';

   puts(b);

}

用指针做游标

(这个更简单一点,前面的解法要复杂不好理解)

#include "stdio.h"
int main(){
    char a[101],b[200]={0},*p,*q,t=0;
    gets(a);
    
    p=a;
    q=b;
    while (*p) {
        *q=*p;
        t++;
        if (t==3){
            t=0;
            q++;
            *q=' ';
        }
        p++;
        q++;
    }

    puts(b);
    
}


 

 

你可能感兴趣的:(C语言题目,c语言,指针)