繁体   English   中英

C 访问磁盘中的 Fizzbuzz

[英]Fizzbuzz in C accessing disk

我在 C 中做了一个简单的 fizzbuzz 程序,只是为了练习 C 语言的某些方面。 我还在学习它,我来自更高级别的语言。

在运行程序本身时,我注意到我的 PC 上的 HDD LED 闪烁。 我在代码中做错了什么,还是写交换,或两者兼而有之?

(在 Pop._OS 20,04 上运行。使用 gcc 9.3,0 编译,高达 3000 万)

提前致谢!

代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void fizzbuzz(int max){
    for(int i = 0; i <= max; ++i){
        if(i%3==0)
            printf("Fizz\n");
            
        if(i%5==0)
            printf("Buzz\n");
            
        if(i%15==0)
            printf("FizzBuzz\n");
            
        else
            printf("%d\n", i);
    }
}

int main( int argc, char *argv[] ){
    // argc: Count of arguments passed
    // argv: Pointer to arguments
    
    // Checking if arguments were passed, and checking the arguments themselves
    
    
    if(argc>1){
        if(strncmp(argv[1], "-max", 4) == 0){
            fizzbuzz(atoi(argv[2]));
        }
        else{
            printf("\nUsage: fizzbuzz_adv -max <limit of fizzbuzz>");
        }
    }
    else{
        printf("\nUsage: fizzbuzz_adv -max <limit of fizzbuzz>");
    }
    
    return 0;
}

根据MMBarmar的想法,我安装了一个 I/O 跟踪实用程序(iotop),看起来 gnome-terminal 正在写入磁盘,而不是程序本身。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM