簡體   English   中英

為什么第二次打印 (my_print_2) 什么也不打印?

[英]why does the second print (my_print_2) print nothing?

從用戶(在main中)掃描字符串,並調用函數isComplicated (此處僅顯示其開頭)。 有人可以解釋為什么第二個打印( my_print_2 )什么都不打印嗎? 第一個打印( my_print_1 )工作正常並打印掃描的字符串。

謝謝。

bool isComplicated(char *str) {

    int length = 0;

    printf("my_print_2 %s \n", str);
}

/////////////////////////////

int main() {

    char str[N] = { 0 };

    printf("Please enter your string and a non-negative 
           integer...\n");

    if (scanf("%s%d", str, &k) != 2 || k < 0)
        exit(1);

    printf("my_print_1 %s \n", str);

    if (isComplicated(str))
        printf("Complicated \n");

    return 0;
}

您的代碼中充滿了如此微不足道的錯誤,以至於編譯器應該都能檢測到它們。

研究如何在編譯器中啟用警告,然后理解它們並最終正確修復它們。

對於 GCC,這意味着添加編譯選項-Wall -Wextra -Werror

如果您在理解編譯器的錯誤消息時遇到困難,歡迎您在這里提問。 修復當前代碼中的瑣碎錯誤通常是您在詢問之前應該做的事情,我所說的瑣碎是指編譯器檢測到的那些錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM