首页 文章

这些错误在C中意味着什么?

提问于
浏览
-3

我正在C中完成大学作业 . 我们必须编写一个简单的程序,它只创建不同的数据类型(整数,长整数,双精度数),然后使用sizeof()函数将它们打印出来 . 这是我为创建int的函数编写的代码:

void createInt(){
int i = 3;
printf(int i);
printf(sizeof(int i));
}

它's giving the following errors: For 1072307 it'给予: *warning C4047: 'function': 'const char const ' differs in levels of indirection from 'int' 对于"printf(sizeof(int i));"它给予: warning C4024: 'printf': different types for formal and actual parameter 1

任何帮助将不胜感激 . 我对C完全是新手 . 以前从未使用过它 . 谢谢!

2 回答

  • -2

    错误的含义是您将错误类型的参数传递给函数printf . 它被宣布为 const char * 作为其第一个参数 . 你传递的是 int 然后是 size_t .

    printf 只接受一个参数时,该参数 must 是一个字符串 . 但是如果要打印整数 i 的内容使用 printf("%d", i)sizeof(i) 的值 size_t ,请使用如下所示: printf("%zu%, sizeof(i))

  • 1

    printf 需要一个字符串作为其第一个参数 . 你的意思是

    printf("%i\n", i);
    printf("%zu\n", sizeof i);
    

相关问题