第一次发布,这个代码有问题。 我想让它在超过1个点的情况下打印否,例如'2..5'。 试图把下面的if语句:双点打印的情况下应该打印否?
if(num[i] == '..'){
printf("no \n);}
但是没有成功。 编程新手!
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char *num = argv[1];
if (num[0] == '+' && strlen(num) >= 2 || num[0] == '-' && strlen(num) >= 2 || num[0] == '.' || (num[0] >= '0' && num[0] <= '9'))
{
for (int i = 1; i < strlen(num); i++) {
if (!(num[i] == '.' || (num[i] >= '0' && num[i] <= '9'))) {
printf("no \n");
}
}
printf("yes \n");
} else {
printf("no \n");
}
}
}
使用大括号'('和')'你如果。目前还不清楚条件必须执行的顺序(查找运算符的优先级)。 –
'printf(“yes \ n”)后面没有大括号;' –