簡體   English   中英

驗證c中的輸入數量

[英]validate the number of inputs in c

我正在編寫一個需要接受命令行輸入的代碼。 輸入驗證是標記標准的一部分,因此我正在編寫一段代碼來檢查輸入的數字是否正確,以便稍后將其放入主代碼中(為無效輸入添加其他情況以使用戶感到煩惱)

#include<stdio.h> 

int main(int argc, char* argv[]) 
{
    double a;

    a = 75;


    if(argc == 2);
    {
        sscanf(argv[1], "%lf", &a);
        printf("%lf \n", a);
    }

    printf("%d% \n", argc);

    return(0); 
}

程序在命令行上至少有一個參數時會打印a,但在沒有輸入任何參數時會打印分段錯誤,而在輸入多個參數時仍會掃描。

救命?

if(argc == 2);

相當於

if(argc == 2)
    ;

您需要刪除; 有條件地執行之后的塊

if(argc == 2)
//           ^ no trailing ; now
{
    sscanf(argv[1], "%lf", &a); // now only executed if argc == 2

暫無
暫無

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

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