Code Bye

求帮助为什么无论本人怎么输入,最后的结果都是包含5呢

#include <stdio.h>
int main(void)
{
    int digit=0;
    int i=0;
    size_t n=0;
    while(scanf("%d",&digit)!=EOF)
    {
        if(digit==-1)
            break;
        if(digit==5);
            i=1;
    }
    if(i==1)
    printf("包含5\n");
    else
        printf("不包含5\n");
    return 0;
}

搞了好久了, 好烦恼
谢谢各位高手!

解决方案

20

        if(digit==5); // 这行结尾多了个分号
i=1;  // 所以这行永远会执行

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明求帮助为什么无论本人怎么输入,最后的结果都是包含5呢