Crys4alL 2020-08-01 17:46 采纳率: 0%
浏览 5

使用cacl()居中没有作用?

RT使用cacl()居中没有作用?
求大佬看看哪里出了问题
图片说明

  • 写回答

1条回答 默认 最新

  • lshen01 2023-03-16 19:41
    关注

    参考GPT和自己的思路:

    首先,需要明确的是,c语言中的函数名是“calloc”,而不是“calc”。因此,需要将代码中的“calc”替换为“calloc”。

    其次,代码中使用的居中方式是不正确的。在输出字符串之前,需要先计算字符串的长度,并计算居中位置。然后,在居中位置之前输出空格即可。

    例如,可以按照以下方式修改代码:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main() {
        char str[] = "Hello world";
        int len = strlen(str);
        int width = 20;
        int padding = (width - len) / 2;
        char* buf = calloc(width + 1, sizeof(char));
        memset(buf, ' ', width);
        memcpy(buf + padding, str, len);
        printf("%s\n", buf);
        free(buf);
        return 0;
    }
    

    以上代码首先计算字符串的长度len,然后计算字符串需要填充的空格数padding。接着,使用calloc函数来分配内存,将所有的内存设置为空格。最后,将居中位置之前的空格替换为字符串即可。

    注意,以上代码仅适用于输出单行字符串。对于多行字符串,需要根据实际情况进行调整。

    评论

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办