我正在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 回答
错误的含义是您将错误类型的参数传递给函数printf . 它被宣布为
const char *
作为其第一个参数 . 你传递的是int
然后是size_t
.当
printf
只接受一个参数时,该参数 must 是一个字符串 . 但是如果要打印整数i
的内容使用printf("%d", i)
或sizeof(i)
的值size_t
,请使用如下所示:printf("%zu%, sizeof(i))
printf
需要一个字符串作为其第一个参数 . 你的意思是