• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

关于sprintf函数的语法问题?

016f1a02016e754b 2018-07-24 浏览量:874
想请教一下大家一个语法上的问题,关于sprintf函数的。我定义一个uint8_t类型的*abc,还有一个i为0,然后sprintf((char*)abc"%d/r/n"i),接着printf("%s"abc),结果出来的是乱码。想问下大家,我这么写的语法上是有错误的吗?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 你的abc定义部分都有问题,这样使用会越界的

    正确的是你要定义一个数组,或者申请一段内存地址赋值给abc才行。

    • 发布于 2018-07-24
    • 举报
    • 评论 0
    • 3
    • 0

其他答案 数量:11
  • abc没有分配内存,它的指向随时变化,显示数据不是0/r/n,用malloc先分配内存
    • 发布于2018-07-24
    • 举报
    • 评论 0
    • 1
    • 0

  • 你没给abc地址赋值,这个地址指向任意位置,所以会出错
    • 发布于2018-07-24
    • 举报
    • 评论 0
    • 1
    • 0

  • 首先abc的定义不可以是char*指针而是char数组:

    char abc[10];
    然后在sprintf里面不需要加(char*)强制类型转换。

    • 发布于2018-07-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是内存地址不确定 定义abc时用数组 这样会自动分配地址
    • 发布于2018-07-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个语法是有问题的,你的地址没有定义是不能输出的
    • 发布于2018-07-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个*abc要有个具体的指向才行,应该将其类型设为char abc[XX]
    • 发布于2018-07-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 你的指针要先执行一个地址才可以经常操作,不然你的指针是没有意义的
    • 发布于2018-08-14
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

关于sprintf函数的语法问题?