璞素 发表于 2017-9-18 16:11:37

scanf可不可以\n;换行符只在printf函数中用吗

今天练习了一下判断素数的函数,发现scanf加上\n后就不能用了,哪位大神给解释一下。


#include "stdio.h"
int main()
{
        int i,n;
        printf("请输入一个数字:,n=?");
        scanf("%d\n",&n);
        for(i=2;i<=n-1;i++)
       
                if(n%i==0)break;
                if(i<n) printf("%d不是素数\n",n);
                else printf("%d是素数\n",n);
       
}

上善若水··· 发表于 2017-9-18 16:31:46

scanf内部函数问题,多输几次还是可以。

ba21 发表于 2017-9-18 19:16:17

scanf 只接收带%的。其它的都为原始字符,意思就是你输入的时候也要输入。假如scanf("%d\n",&n);这句,哪么你应该这样输入 520\n 然后回车;520 存入 n的变量中。

huahua123 发表于 2017-9-18 19:21:06

scanf有这种用法吗

DAY 发表于 2017-9-18 21:21:11

scanf是可以用\n的
页: [1]
查看完整版本: scanf可不可以\n;换行符只在printf函数中用吗