if具有嵌套函数的语句将不会执行

时间:2014-11-15 18:32:11

标签: c if-statement strcmp

#include <stdio.h>

main()
{
   char      name[30];
   int       age;

   printf("Please enter your name: ");
   scanf("%s", name);

   printf("How old are you %s: ", name);
   scanf("%d", age);

   if (strcmp(name, "Abs") == 1 && age == 25)
      printf("You are the CHOSEN one!\n");
   else
      printf("You are a wankstain!\n");

   fflush(stdin);
   getchar();
}

if语句似乎忽略了正确的答案,我也试图将年龄放在括号中无济于事。

1 个答案:

答案 0 :(得分:1)

  1. 为什么不阅读strcmp的手册页。你去检查零。
  2. 同上scanf - 它确实返回了需要检查的值。
  3. 使用大括号 - 以防止将来出现问题。
  4. 您无需刷新stdin
  5. (请参阅http://linux.die.net/man/3/strcmphttp://linux.die.net/man/3/scanf