我们可以在使用字符串时停止函数吗?

时间:2018-08-18 20:15:12

标签: c

我对编程很热衷,我正在尝试学习时感兴趣的事情。因此,我想看看是否可以“检查”用户输入了我想要继续使用该程序的单词,但我可以似乎找不到答案。

#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;
}

2 个答案:

答案 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);
}