关于C语言中 if的用法

输入一个整数,如果这个数小于0,则将这个数增加1,
然后判断它是否==0,如果等于0,将这个数自减1,
否则将它自增加1 最后,输出这个数的值

我输入一个负数。 按照我的 逻辑,如果这个负数小于-2 那么输出的这个负数肯定是在原来的基础上自增两次。 但是打印出来的结果都是1 错误出在哪里

 if语句一般有三种基本形式,其它扩展形式,也是以下面三种形式为基础,个人活学活用而已。
  1、 if……形式
  一般格式:if(表达式) 语句;
  语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。示例如下:
#include <stdio.h>
  int main(){
  int a,b,max;
  printf("\n input two numbers: ");
  scanf("%d%d",&a,&b);
  max=a;
  if (max<b) max=b;
  printf("max=%d\n",max);
  return 0;
  }

  2、if……else形式
  一般格式:
  if(表达式)
  语句1;
  else
  语句2;

  语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。语句1和语句2可以是复合语句。
  示例如下:
 
 #include <stdio.h>
  int main(){
  int a, b;
  printf("input two numbers: ");
  scanf("%d%d",&a,&b);
  if(a>b)
  printf("max=%d\n",a);
  else
  printf("max=%d\n",b);
  return 0;
  }

  3、if……else……if形式
  一般形式为:
  if(表达式1)
  语句1;
  else if(表达式2)
  语句2;
  else if(表达式3)
  语句3;
  …
  else if(表达式m)
  语句m;
  else
  语句n;
  语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。示例如下:
  
#include <stdio.h>
  int main(){
  char c;
  printf("input a character: ");
  c=getchar();
  if(c<32)
  printf("This is a control character\n");
  else if(c>='0'&&c<='9')
  printf("This is a digit\n");
  else if(c>='A'&&c<='Z')
  printf("This is a capital letter\n");
  else if(c>='a'&&c<='z')
  printf("This is a small letter\n");
  else
  printf("This is an other character\n");
  return 0;
  }

  4、扩展形式
  if条件控制语句的形式是多种多样的。比如if嵌套、if……if类似的形式,但是都离不开上面介绍的三种基本形式。个人活学活用即可。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-21
你好,先看到了一个 (a == 0),‘=’是赋值号,'=='才是判断。本回答被提问者采纳
第2个回答  2016-04-21
if判断 a==0,这样才可以
希望采纳
第3个回答  2016-04-21
第10行错了,是if( a == 0)

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网