18 12
发新话题
打印

[C]在for循环使用变量出现问题

[C]在for循环使用变量出现问题

我的环境是FEDORA CORE 6,VIM,GCC;
+ D& _4 H4 G5 k- K/ [$ c  Q在FOR循环中,我发现定义的变量只能附值一次,比如:
; n* L( I5 K+ N, i+ {- W( [for(a=0;a<10;a++)3 G: A, ?) }5 \: L: s; @* c
a变量最后为9,但在后面我需要使用它再进行一次循环,于是用了同样的语句,发现a成了10,而且马上终止了循环,也就是说,a不能重新附值,甚至也不再受for条件的限制,a被附值成了10.
0 }! G' O( F: Y1 ]3 T" X& K4 q请问,这是怎么回事?      

TOP

Your code, please.      
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间

TOP

复制内容到剪贴板
代码:
#include <stdio.h>
main()
{
int a[10],b[10],biger=0,equel=0,smaller=0;
short array,count;
printf("now input your array what you leave:\n");
printf("_array A_\n");
for(array=0;array<10;array++)
{
printf("array A[%d]:",array+1);
scanf("%d",&a[array]);
printf("array B[%d]:",array+1);
scanf("%d",&b[array]);
}
printf("\n%s\n%s",a[10],b[10]);
/*finish INIT*/

for(count=0;count<10;count++)
for(array=0;array<10;array++)
  if(a[array]-b[array]>0)
   biger=+1;
  else if(a[array]-b[array]<0)
   smaller=+1;
  else
   equel=+1;
/*finish equel*/

printf("\nSo~~\n");
if(biger>smaller)
printf("array A biger than array B.");
else if(biger<smaller)
printf("array B biger than array A.");
else
printf("array A equel to array B.");

printf("\nAnd~~\n");
printf("array A resoult to:\nbiger number is %d\nequel numer is %d\nsmaller number is %d\n",biger,equel,smaller);
printf("array B resoult to:\nbiger number is %d\nequel numer is %d\nsmaller number is %d\n",smaller,equel,biger);
}
      

TOP

题目是:
. Q, p9 r' m# @7 y) w比较两个数组,并输出有多少是大的多少是小的多少的相等的.      

TOP

我确定我没有写错      

TOP

[QUOTE=freeid;568530]题目是:  S2 P/ i* d9 K* G, S' Y' |
比较两个数组,并输出有多少是大的多少是小的多少的相等的.[/QUOTE]  [0 f3 Z1 Z, J6 Q+ }6 L9 N
俺理解不了题目的意思       
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间

TOP

[QUOTE=freeid;568531]我确定我没有写错[/QUOTE]
( O* z! t2 x  O/ Q5 P+ S4 o请问是哪段 code 有问题?      
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间

TOP

for(array=0;array<10;array++)
- M, w* t! Q0 a我另外做了TEST.C文件,查看两次array附值的情况,发现第一次附值是正常的,第二次就有问题了,居然没有进行附值,array还是10,没变,也就是说,没有进行第二次循环.      

TOP

这句有问题, 不懂什么意思:
复制内容到剪贴板
代码:
printf("\n%s\n%s",a[10],b[10]);
      
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间

TOP

这个printf("\n%s\n%s",a[10],b[10]);是错误的,我在试能不能用流来输出整个数组,忽略它吧,实际上在这之前,我还没添加它的时候,不能循环的问题已经出现了.      

TOP

 18 12
发新话题