第一次在这里发帖,代码有问题。 我希望它在超过 1 个点时打印 no,例如“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");
}
}
}
最佳答案
使用这个:
if(!(strcmp(num[i], "..")))
代替
if(num[i] == '..')
关于在输入两个点的情况下应该打印否?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42178463/