我需要帮助。我的课程开始于:./ proj --tan 1.024 6 10我通过泰勒计算tangens' 多项式。迭代范围是1到13.如果迭代的nuber高于13,我需要停止程序,但是下面的代码不起作用。
if ((sscanf(argv[3], "%d", &n) >= 14) || (sscanf(argv[3], "%d", &n) < 0))
{
return ERROR_WRONG_NUM;
}
if ((sscanf(argv[4], "%d", &m) >= 14) || (sscanf(argv[4], "%d", &m) < 0))
return ERROR_WRONG_NUM;
答案 0 :(得分:2)
sscanf
的返回值是指定的输入项目数,或失败时的EOF
,这不是您的预期。
在检查n
[1,13]
与范围sscanf
进行比较
items = sscanf( argv[3], "%d", &n );
if ( items != 1 || n < 1 || n > 13 )
return ERROR_WRONG_NUM;