爲什麼不能我使用此代碼,我使用VS 2017和已在命令參數4 + 3讀取值
#include <stdio.h>
int main(int argc, char *argv[])
{
float numberOne;
float numberTwo;
float theResult;
if (argc == 2)
{
sscanf(argv[1], "%f", &numberOne);
sscanf(argv[2], "%f", &numberTwo);
printf("%f \n", numberOne + numberTwo);
}
else
{
printf("invalid input");
}
sleep(10);
return(0);
}
首先,如果'的argc == 2'的有效索引是'[0]'和'[1]',值2表示有多少,而不是最高指數。如果你輸入'4 + 3',沒有空格,我會期待'argv [1]'中的所有內容。 –
鑑於輸入格式,您正在使用不合適的格式字符串。你也應該檢查'sscanf()'的返回值。 –