c语言if else嵌套for循环语句为什么会无限循环? 在C语言中,if语句后面的else语句中能不能嵌套for的循...

\u5728C\u8bed\u8a00\u4e2d\uff0cif\u8bed\u53e5\u540e\u9762\u7684else\u8bed\u53e5\u4e2d\u80fd\u4e0d\u80fd\u5d4c\u5957for\u5faa\u73af\u8bed\u53e5,

\u5728C\u8bed\u8a00\u4e2d\uff0cif...else\u5206\u652f\u8bed\u53e5\u4e0efor\u5faa\u73af\u8bed\u53e5\u548c\u5176\u4ed6\u5faa\u73af\u53ca\u5206\u652f\u90fd\u662f\u53ef\u4ee5\u5d4c\u5957\u4f7f\u7528\u7684\uff0c\u4e5f\u5c31\u662f\u8bf4\u5728if\u8bed\u53e5\u540e\u9762\u548celse\u8bed\u53e5\u540e\u9762\u90fd\u662f\u53ef\u4ee5\u4f7f\u7528for\u5faa\u73af\u8bed\u53e5\u7684\uff0c\u4f8b\u5982\uff1a
\u7ed9\u5b9a\u4e00\u4e2a\u6574\u6570n\uff0c\u5224\u65ad\u8fd9\u4e2a\u6574\u6570n\u662f\u4e0d\u662f\u5c0f\u4e8e2\uff0c\u5982\u679c\u5c0f\u4e8e2\u5219\u63d0\u793a\u7ed9\u5b9a\u6570\u503c\u4e0d\u5728\u6709\u6548\u8303\u56f4\u5185\uff0c\u5426\u5219\u8ba1\u7b97\u4ece1\u5230n\u7684\u7d2f\u52a0\u548c\u3002
int sum=0;
if(n<2){
printf("\u7ed9\u5b9a\u6570\u503c\u4e0d\u5728\u6709\u6548\u8303\u56f4\u5185");
}else{

for(int i=1;i<=n;i++){sum = sum +i;}
printf("%d",sum);
}

\u5728C\u8bed\u8a00\u4e2d\uff0cif...else\u5206\u652f\u8bed\u53e5\u4e0efor\u5faa\u73af\u8bed\u53e5\u548c\u5176\u4ed6\u5faa\u73af\u53ca\u5206\u652f\u90fd\u662f\u53ef\u4ee5\u5d4c\u5957\u4f7f\u7528\u7684\uff0c\u4e5f\u5c31\u662f\u8bf4\u5728if\u8bed\u53e5\u540e\u9762\u548celse\u8bed\u53e5\u540e\u9762\u90fd\u662f\u53ef\u4ee5\u4f7f\u7528for\u5faa\u73af\u8bed\u53e5\u7684\uff0c\u4f8b\u5982\uff1a
\u7ed9\u5b9a\u4e00\u4e2a\u6574\u6570n\uff0c\u5224\u65ad\u8fd9\u4e2a\u6574\u6570n\u662f\u4e0d\u662f\u5c0f\u4e8e2\uff0c\u5982\u679c\u5c0f\u4e8e2\u5219\u63d0\u793a\u7ed9\u5b9a\u6570\u503c\u4e0d\u5728\u6709\u6548\u8303\u56f4\u5185\uff0c\u5426\u5219\u8ba1\u7b97\u4ece1\u5230n\u7684\u7d2f\u52a0\u548c\u3002
int sum=0;
if(n<2){
printf("\u7ed9\u5b9a\u6570\u503c\u4e0d\u5728\u6709\u6548\u8303\u56f4\u5185");
}else{

for(int i=1;i<=n;i++){sum = sum +i;}
printf("%d",sum);
}

int
main ()
{
  int i, j, n;
  printf ("Enter matrix size: ");
  scanf ("%d", &n);
  for (j = 1; j <= n; j++)
    {
      for (i = 1; i <= n; i++)
    {
      if (j == 1 || i > j - 1)//j=1 是赋值的意思.
        {
          printf ("+");
        }
      else
        {
          printf ("-");
        }
    }
      printf ("
");
    }
  //getchar ();
  return 0;
}


➜  ~  vim zhid.c
➜  ~  indent -gnu zhid.c
➜  ~  vim zhid.c
➜  ~  gcc zhid.c
➜  ~  ./a.out
Enter matrix size: 4
+    +    +    +    
-    +    +    +    
-    -    +    +    
-    -    -    +   



扩展阅读:vba if else多层 嵌套 ... if else嵌套的使用方法 ... if else嵌套规则 ... excel if else ... c语言中else if的用法 ... c语言if else循环嵌套 ... if if else嵌套语句理解 ... if elseif else意思 ... c语言if与多个else if ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网