首页 文章

为什么我们在scanf和printf函数的语法中有一个指向常量的指针?

提问于
浏览
-1

scanf函数的语法是int scanf(const char * format,...); printf函数的语法也是int printf(const char * format,...);

为什么我们在这里有一个指向常量的指针,为什么我们在这里指定了变量参数,它的用途是什么?

2 回答

  • 2

    格式说明符中的 const 保证库永远不会更改格式字符串指向的内容 .

  • 1

    指向 format 的指针是函数的输入数据,不应该更改 . 因此它是常量 . 此外,根据功能,参数可以是输入或输出,也可以是const或不是其性质 . 但是由于函数是可变参数,因此它们未被指定,并且分别没有const或非const说明符 . printf是一个out-function,因此它希望其余的参数都是in-parameters和 format ,因此也就是const . scanf - 是一个函数,因此它写入 format 后面的其余参数,因此它们必须是可写的 .

相关问题