[英]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.