扫描long unsigned int的格式说明符

11 c scanf

我试图使用此代码片段将两个变量作为输入: -

unsigned int i;

unsigned long int j;

scanf("%u",i);

scanf("%lu",j);
Run Code Online (Sandbox Code Playgroud)

但这引起了以下警告: -

警告:格式'%u'需要'unsigned int*'类型的参数,但参数2的类型为'unsigned int'[-Wformat]警告:格式'%lu'需要类型'long unsigned int*'的参数,但参数2有'long unsigned int'类型[-Wformat]任何人都可以向我解释这里发生了什么?

md5*_*md5 23

您需要添加一个领先的&,如scanf需要指针的输出参数.否则,它无法写入它们.

scanf("%lu", &i);
Run Code Online (Sandbox Code Playgroud)