我对编程很热衷,我正在尝试学习时感兴趣的事情。因此,我想看看是否可以“检查”用户输入了我想要继续使用该程序的单词,但我可以似乎找不到答案。
#include <stdio.h>
#include <stdlib.h>
void digit_check( float n )
{
printf("Please enter a number:");
scanf("%f",&n);
printf("\n");
if(n >= 10 && n < 100)
{
printf("The number you entered is 2 digit.\n");
}
else if(n < 10)
{
printf("The number you entered is 1 digit.\n");
}
else
{
printf("The number you entered is more than 2 digit.\n");
}
}
int main()
{
float n;
char answer[5];
char str1[5];
int cmp = 1;
while(cmp = 1)
{
printf("Do you want to continue?");
scanf("%s",answer);
strcpy(str1, "Yes");
cmp = strcmp(answer,str1);
if(cmp = 1)
{
digit_check(n);
}
}
return 0;
}
答案 0 :(得分:1)
当两个字符串相等时,strcmp返回0,并将其与1进行比较。
cmp = strcmp(answer,str1);
if(cmp = 1)
此外,语句
if(cmp = 1)
正在将值1分配给cmp变量。
正确的条件应该是
if(cmp == 0)
例如使用 == (双'='符号)检查是否相等,而不是执行分配的单个'='符号。
答案 1 :(得分:0)
strcmp
相等,则 strings
返回零。您可以执行以下操作。
printf("Do you want to continue?");
scanf("%s",&answer);
while(strcmp(answer,"yes") == 0)
{
digit_check(n);
printf("Do you want to continue?");
scanf("%s",&answer);
}