注册 登录
编程论坛 C语言论坛

求大佬帮看一下这两行代码是什么作用?

魂之子 发布于 2020-05-14 17:26, 1429 次点击
只有本站会员才能查看附件,请 登录

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    int num,row,cols,i,j;//row为行,cols为列
    int k=0;
    char gufeng[100][1000];
    char str[1000];
    scanf("%d",&num);
    getchar();//如果不吃掉这个回车,str里面就是一个回车。
    gets(str);//输入进去
    if(strlen(str)%num==0)
        cols=strlen(str)/num;
    else
        cols=strlen(str)/num+1;
        row=num;
                                              for(i=0;i<row;i++)//请教一下这两行代码是什么作用?
                                                 gufeng[i][0]=' ';
    for(j=cols-1;j>=0;j--)
    {
        for(i=0;i<row;i++)
        {
            gufeng[i][j]=str[k++];
            if(k==strlen(str))
                break;
        }
    }
    for(i=0;i<row;i++)
    {
        for(j=0;j<cols;j++)
            putchar(gufeng[i][j]);
        if(i<row-1)
            putchar('\n');
    }
    return 0;
}
2 回复
#2
纯蓝之刃2020-05-14 18:07
把第一列也就是a.s.e.' '.这列的值初始化为' ',防止第一列数据不满的时候后面空着的地方乱码
#3
魂之子2020-05-16 11:50
回复 2楼 纯蓝之刃
能讲一下这里的' '和'\0'的区别吗?
1