我在网上找题解的时候找到了一个错误的题解
int main()
{
int i = 0;
int count = 0;
for (i = 1; i <= 100; i++)
{
if (i / 10 == 9 || i % 10 == 0)
count++;
}
printf("1~100之间所有整数中出现%d个9\n", count);
return 0;
}
错误原因:比如99,需要计算两次9,但是如果是上面那种写法,if只会进去一次,即count只会加1而不是加2.
改正:
int main()
{
int i = 0;
int count = 0;
for (i = 1; i <= 100; i++)
{
if (i / 10 == 9)
count++;
if (i % 10 == 0)
count++;
}
printf("1~100之间所有整数中出现%d个9\n", count);
return 0;
}
另外
感兴趣的小伙伴可以去看看我总结的一些C语言易错点:C语言易错,目前还在持续更新,欢迎小伙伴们的补充!