while(~scanf("%d", &n)) 和 while(scanf("%d", &n), n) 有啥不同
Posted hello-dummy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了while(~scanf("%d", &n)) 和 while(scanf("%d", &n), n) 有啥不同相关的知识,希望对你有一定的参考价值。
额............我也不知道(先记下)
printf("%d ", (scanf("%d", &n), n))
printf("%d ", (~scanf("%d", &n)));
打印结果都相同........
测试题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1787
测试代码:
代码参考博客:https://blog.csdn.net/ydd97/article/details/47168351
#include <iostream> #include <vector> #include <cstdio> #define ll long long using namespace std; ll euler(ll n) { int ret = n; for (int i = 2; i * i <= n; i++) { if (n%i==0) { ret -= ret / i; while(n%i == 0) { n /= i; } } } if (n > 1) ret -= ret / n; return ret; } int main() { int n; // printf("%lld ", (scanf("%d", &n), n)); // printf("%lld ", (~scanf("%d", &n))); while(scanf("%d", &n), n) { // while(~scanf("%d", &n)) { printf("%d ", n-euler(n)-1); } return 0; }
今天看到一篇博客:
他可能也是这样想的。然后就没有然后了
以上是关于while(~scanf("%d", &n)) 和 while(scanf("%d", &n), n) 有啥不同的主要内容,如果未能解决你的问题,请参考以下文章
c语言 while(scanf("%d", &num) == 1) 起啥作用
关于while (~scanf("%d %d", &m, &n))的用法
while(scanf("%d %d",&a,&b)!=EOF)
C语言while(scanf("%d",&num)==1);语句的一个问题