我正在C中完成大学作业。我们必须编写一个简单的程序,只创建不同的数据类型(整数,长整数,双精度数)并使用sizeof()函数将它们打印出来。这是我为创建int的函数编写的代码:
void createInt(){
int i = 3;
printf(int i);
printf(sizeof(int i));
}
它出现以下错误: 对于“printf(int i);”它给出了:警告C4047:'function':'const char * const'与'int'的间接级别不同 对于“printf(sizeof(int i));”它给出了:警告C4024:'printf':正式和实际参数1的不同类型
非常感谢任何帮助。我是C的新手。以前从未使用过它。 谢谢!
答案 0 :(得分:1)
错误的含义是您将错误类型的参数传递给函数printf。它被声明为const char *
作为其第一个参数。您传递int
然后传递size_t
。
当printf
只接受一个参数时,该参数必须为字符串。但是,如果要打印整数i
的内容,请使用printf("%d", i)
或类型为sizeof(i)
的{{1}}的值,请使用以下内容:{{1} }
答案 1 :(得分:-2)
printf
需要一个字符串作为其第一个参数。你的意思是
printf("%i\n", i);
printf("%zu\n", sizeof i);