zoukankan      html  css  js  c++  java
  • scanf使用说明

    写题的时候c和c++最大的区别就是输入输出了

    首先说明其实一般的程序都是c++ 人家那种硬件代码才是纯c的 我又不用往板子上烧 不用写那么麻烦

    贴一段硬件的纯c代码看一看 其实区别也不是很大 2333

     1 void ComputePowerSpectrum(int32_t* frame,
     2                           int64_t* power_spectrum){
     3     int32_t* buffer = (int32_t*)malloc(sizeof(int32_t) * FRAME_LEN_PADDED);
     4 
     5     memset(buffer, 0, sizeof(int32_t) * FRAME_LEN_PADDED);
     6     fixed_point_fft(frame, buffer, FRAME_LEN_PADDED);
     7 
     8     int64_t first_energy = FixedMulInt64(frame[0], frame[0])>>1;
     9     int64_t last_energy = FixedMulInt64(buffer[1], buffer[1])>>1;
    10     uint16_t half_dim = FRAME_LEN_PADDED/2;
    11 
    12     power_spectrum[0] = first_energy;
    13     power_spectrum[half_dim] = last_energy;
    14     for (i = 1; i < half_dim; i++){
    15         int32_t real = frame[i], img = buffer[i];
    16         power_spectrum[i] = FixedMulInt64(real, real)>>1;
    17         power_spectrum[i] += FixedMulInt64(img, img)>>1;
    18         assert(power_spectrum >= 0);
    19     }
    20     free(buffer);
    21 }

    然后就主要讲一下scanf的使用吧

    竞赛里一般都是用scanf 虽然不太好打(相对于cin) 但是速度比较快

     1 #include<stdio.h>
     2 
     3 int main()
     4 {
     5     int n;
     6     while(~scanf("%d",&n))
     7     {
     8         
     9     }
    10     return 0;
    11 }/*
    12 
    13 
    14 
    15 */

    scanf printf都要接受两个参数

    一个是后面的要输出的参数

    要记得输入的时候参数要加上取地址符& 输出的时候不用取地址符&

    另一个是前面的字符串 也就是scanf中f对应的format的意思 格式化字符串

    %d %f %c %s这样的符号通俗的称为占位符

    常用的占位符大概有这些

    1 int                -> %d
    2 unsigned int       -> %u
    3 long long          -> %lld
    4 unsigned long long -> %llu
    5 double             -> %lf
    6 char               -> %c
    7 char[]             -> %s

    值得一提的是

    目前普遍认为double输入是用%lf 输出用%f

    但是看了c++官网发现好像没有%lf这种用法了(小声bb

     但是在目前的c++11里还是普遍认为

    再值得一提的是 普遍认为输入字符串是不用取地址的

    但实际上加不加都可以

    1 char str[maxn];
    2 scanf("%s",&str);
    3 scanf("%s",str);

    关于~scanf("xxxx",&xx)的返回值

    它的返回值就是输入的参数的个数

    当输入到EOF的时候会返回-1(11111111) 按位取反之后就是0(00000000)了

    就可以跳出循环了

  • 相关阅读:
    KubeSphere 社区开源负载均衡器 Porter 进入 CNCF 云原生全景图
    The Overview of KubeSphere 3.0
    对象存储在无人驾驶高精度地图的场景实践
    谁来打通混合云“最后一公里”?唯有容器混合云
    QingStor 对象存储架构设计及最佳实践
    如何通过IAM打造零信任安全架构
    智能家居巨头 Aqara 基于 KubeSphere 打造物联网微服务平台
    微信小程序集成jenkins自动打码
    windows运行python,提示import win32file ImportError: DLL load failed: 找不到指定的程序。
    centos7搭建easy-mock服务
  • 原文地址:https://www.cnblogs.com/general10/p/11762134.html
Copyright © 2011-2022 走看看