我找不到如何修复这个练习:它是关于学习字符计数(我使用的是Kernighan-Ritchie版本)。我的问题栏说:
"警告:格式指定类型' int'但是这个论点有“长”字样。 [-Wformat] printf("%1d \ n",nc); ~~~ ^〜%1ld"
这是代码:
#include <stdio.h>
int main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%1d\n", nc);
}
我在Mac上使用Qt Creator 3.1.1。 Xcode版本6.2(6C131e)上的相同问题。
有任何帮助吗?提前谢谢。
答案 0 :(得分:8)
long
的正确格式说明符是%ld
,而不是%d
。 %d
需要int
。
替换
printf("%1d\n", nc);
带
printf("%1ld\n", nc);
解决问题。