找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2797|回复: 3

[通用编程] 符号问题(应该是这么说吧)

[复制链接]
发表于 2007-4-21 20:24:13 | 显示全部楼层 |阅读模式
#include<stdio.h>


void main()
{
    void abc(int arr[],int n);
    int i;
    int array[20];
    printf("please enter the twenty number:\n");
    for(i=0;i<20;i++)
        scanf("%d",&array);
    abc(array,20);
   
    printf("\n");
}
void  abc(int arr[],int n)
{
    int count,b,i;
     count=0,b=0;
    while(b<n)
    {
        for(i=0;i<n;i++)
        if(arr!=0)
        {    count++;
            if(count==5)        
                 printf("%3d",arr);-------->printf("%3d",arr中括号i);这里是这样的怎么显示不出来
                 arr=0;------------------->arr中括号i=0;
                 count=0;
                  b++;
        
        }
        
    }
   
}

为什么在if(count==5)   这个语句中,不用{}括起下面那四句,程序会无答案输出呢? [s:5]
发表于 2007-4-21 20:47:39 | 显示全部楼层
如果不加{},if语句只控制下面一句...
  1. if(count==5)     
  2.           printf("%3d",arr[i]);
复制代码
每次循环,你都让count = 0,count再怎么++也不会==5丫


PS.下次贴代码时..请用[#code]  这里是代码[#/code]...使用时去掉"#"
 楼主| 发表于 2007-4-21 21:13:46 | 显示全部楼层
同一的程序换一种写法:
  1. #include<stdio.h>
  2. main()
  3. {
  4.     void left(int *p,int n);
  5.     int num[100],n,i;
  6.     printf("how many people?\\n");
  7.     scanf("%d",&n);
  8.     for(i=0;i<n;i++)
  9.         num[i]=i+1;
  10.     left(num,n);
  11.     for(i=0;i<n;i++)
  12.         if(num[i]!=0)
  13.             printf("no.which left last is %d",num[i]);
  14. }
  15. void left(int *p,int n)
  16. {
  17.     int i,out,count;
  18.     i=0;
  19.     out=0;
  20.     count=0;
  21.     while(out<n-1)
  22.     {
  23.         if(*(p+i)!=0)
  24.             count++;
  25.         if(count==5)
  26.         {
  27.             *(p+i)=0;
  28.             count=0;
  29.             out++;
  30.         }
  31.         i++;
  32.         if(i==n) i=0;
  33.     }
  34. }
复制代码

为什么最后要加上if(i==n) i=0; 呢?不加就无法正确运行。为什么会这样?而且不加的时候还会使主函数最后一个for中的printf语句打印数次,但通过函数中的操作,不是已经将最后一个以外的都置零了吗?
发表于 2007-5-2 00:39:30 | 显示全部楼层
没有这一句的话,在最后的取数循环中(*(p+i)!=0将不在N的范围之类
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|幻想森林

GMT+8, 2026-11-14 22:48 , Processed in 0.018210 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表