清如许 发表于 2022-10-1 09:43:50

请问为啥加上\n后输出结果不一样了

#include<stdio.h>
#include<math.h>
int main()
{
        int a;
        unsigned long long int b;
        printf("请输入一个整数:");
        scanf("%d",&a);                                 //这里没有\n正常输出
        b=pow(a,5);
        printf("%d的五次方是:%llu\n",a,b);
        return 0;
}



#include<stdio.h>
#include<math.h>
int main()
{
        int a;
        unsigned long long int b;
        printf("请输入一个整数:");
        scanf("%d\n",&a);                                  //这里有\n就要输入两次值才能运算,不知为啥,请教大家
        b=pow(a,5);
        printf("%d的五次方是:%llu\n",a,b);
        return 0;
}

Twilight6 发表于 2022-10-1 09:46:09


参考文章:

C语言scanf为啥有时候要输入两次(解析)

wp231957 发表于 2022-10-1 09:48:44

scanf后面为啥要加\n   不见得有哪个教材能这样教吧

人造人 发表于 2022-10-1 09:50:08

scanf可不是printf
这两个函数的用法是不一样的
https://cplusplus.com/reference/cstdio/scanf/

清如许 发表于 2022-10-1 10:27:36

人造人 发表于 2022-10-1 09:50
scanf可不是printf
这两个函数的用法是不一样的
https://cplusplus.com/reference/cstdio/scanf/

谢谢大佬

清如许 发表于 2022-10-1 10:28:11

wp231957 发表于 2022-10-1 09:48
scanf后面为啥要加\n   不见得有哪个教材能这样教吧

自学的·{:10_266:}

清如许 发表于 2022-10-1 10:28:55

Twilight6 发表于 2022-10-1 09:46
参考文章:

C语言scanf为啥有时候要输入两次(解析)

谢谢大佬
页: [1]
查看完整版本: 请问为啥加上\n后输出结果不一样了