我试图使用此代码片段将两个变量作为输入: -
unsigned int i;
unsigned long int j;
scanf("%u",i);
scanf("%lu",j);
但这引起了以下警告: -
警告:格式'%u'需要'unsigned int *'类型的参数,但参数2的类型为'unsigned int'[-Wformat] 警告:格式'%lu'需要类型为'long unsigned int *'的参数,但参数2的类型为'long unsigned int'[-Wformat] 任何人都可以向我解释这里发生的事情吗?
答案 0 :(得分:22)
您需要添加一个前导&
,因为scanf
将指针添加到输出参数中。否则,它无法写入它们。
scanf("%lu", &i);