為什麼我在 C 中的 main 函數只打印第一個 for 循環?

阿里耶諾頓

我試圖為每種類型的數字打印它自己的行,但是當我運行代碼時它不起作用,我已經單獨檢查了每個函數並且每個函數都運行良好。

我從用戶那裡得到兩個數字,我的目標是打印出兩個數字之間的每個數字,包括它們。

void main(void){
    int a, b;
    printf("\n Hello, how are you? Please enter the two numbers: \n");
    scanf("%d %d", &a,&b);
    
    printf("\n isPrime numbers: \n");
    for(a; a<=b; a++){
        if(isPrime(a) == 1){
            printf("%d, ", a);         
        } 
    } 
    
    printf("\n isStrong numbers: \n");
    for(a; a<=b; a++){
        if(isStrong(a) == 1){
            printf("%d, ", a);          
        } 
    } 
    
    printf("\n isPalindrome numbers: \n");
    for(a; a<=b; a++){
        if(isPalindrome(a) == 1){
            printf("%d, ", a);          
        } 
    } 
    
    printf("\n isArmostrong numbers: \n");
    for(a; a<=b; a++){
        if(isArmstrong(a) == 1){
            printf("%d, ", a);          
        } 
    } 
    
}

此代碼僅打印出素數的第一個 for 循環。

 Hello, how are you? Please enter the two numbers: 
1 100

 isPrime numbers: 
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 
 isStrong numbers: 

 isPalindrome numbers: 

 isArmostrong numbers: 
來自莫斯科的弗拉德

在第一個 for 循環之後

for(a; a<=b; a++){

由於在循環中增加變量 a,變量 a 變得大於變量 b。因此,以下 for 循環中的條件評估為 false。

例如,您可以在 for 循環中引入局部變量

for( int i = a; i <= b; i++){
    if(isPrime(i) == 1){
        printf("%d, ", i);         
    } 
} 

請注意,根據 C 標準,沒有參數的函數 main 應聲明為

int main( void )

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

為什麼 pow 函數會減少 C 中循環的長度

為什麼 for 循環超出一個點會在 C++ 中給出不合理的結果?

什麼是 C 中的繁忙循環?

為什麼我的循環沒有重新開始到第一次迭代?C++

C++ 為什麼這在正常的 for 循環中工作而不是在基於範圍的 for 循環中工作?

為什麼 while 循環中的可變模板函數不打印到控制台?

為什麼我的循環在 Angular/TypeScript 中循環兩次?

為什麼我的代碼通過第一個 for 循環而不是第二個 for 循環?

在循環中製作一個簡單的菜單來調用函數,堅持為什麼它不起作用

為什麼我的兩個環境中 Mobx 6 的行為不同?

為什麼我的 while 循環沒有採用此特定示例用戶輸入中的最後一個值?

Xamarin/C# - 在日期範圍內查找周末的方法。為什麼我卡在循環中並且無法增加當前日期?

為什麼我的 Javascript 循環只運行一次?

為什麼我的另一個文件中的 void 函數沒有在這個 C 程序中運行?

為什麼我的 for 循環沒有在 html canvas 草圖中繪製多個重複的形狀?

Javascript 函數僅適用於我的 foreach laravel 循環中的第一個表格行

我想知道如果我將它包裝在標籤中,為什麼它不會在 JavaScript click 函數中一遍又一遍地顯示循環結果

為什麼我的 while 循環在 Jmeter 中不起作用?

為什麼 peek 在我的循環鍊錶中返回意外結果?

為什麼 C 程序跳過我的 if 循環來編程 raspberrypi?

為什麼我無法通過循環將多個值插入 Firebase?

為什麼我不能評論這個 while 循環代碼?

為什麼 SBCL(或一般的 Common lisp?)不喜歡我的循環?

為什麼我的 While 循環像輸入一樣

Python Selenium 我只從循環中獲取第一個元素

為什麼在循環中獲取數據屬性有效,但仍會引發錯誤?

為什麼這個 for 循環起作用而函數不起作用?

為什麼java編譯器不能識別for循環中變量的這個初始化?

為什麼每個循環的 c++ 都接受 r 值但 std::ranges 不接受?