| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 568 人关注过本帖
标题:帮忙看下这段小代码的一行是什么意思?谢谢了。
取消只看楼主 加入收藏
NeQhk
Rank: 2
等 级:论坛游民
威 望:1
帖 子:164
专家分:85
注 册:2014-7-19
结帖率:69.23%
收藏
已结贴  问题点数:20 回复次数:0 
帮忙看下这段小代码的一行是什么意思?谢谢了。
题目要求是:
 请编写程序,将输入中的制表位替换成数目适当的空格,使空格充满到下一个制表位结束的地方
#include<stdio.h>
#define TABINC 8
int main()
{
   int c,nb,pos;
   nb=0;
   pos=1;
   while((c=getchar())!=EOF)
   {
       if(c=='\t')
       {
           nb=TABINC-(pos-1)%TABINC; ///-----这一行//
           while(nb>0){
                 putchar(' ');
                 ++pos;
                 --nb;
           }
       }else if(c=='\n'){
             putchar(c);
             pos=1;
       }else {
              putchar(c);
              ++pos;
       }
   }
   return 0;
}
这一段代码是《c程序设计语言》(第二版)第一章最后的练习里面的代码
解答:假设每隔TABINC个位置就会出现一个制表位,在这里定义为8
   变量pos是程序在文本行中的当前位置
  当遇到制表符,程序将计算出,到达下一个制表位需要的空格数,这一数值是
   nb=TABINC-(pos-1)%TABINC;
这是怎么计算的
2015-08-16 15:08
快速回复:帮忙看下这段小代码的一行是什么意思?谢谢了。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029036 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved