使用ident来格式化你的c程序

来源:互联网 发布:知名coser 知乎 编辑:程序博客网 时间:2024/05/21 10:45

本站网友提到Linux小工具indent,试用了一下,果然很好用,现总结一下,期望能给读者带来帮助。

 

 下载和安装:

  1. Linux(Fedora)用户来说,最简单的安装方式是"yum install indent"

  2. Windows 用户可从http://gnuwin32.sourceforge.net/packages/indent.htm下载。

 

用法:

  请参阅:http://www.worldhello.net/doc/program_rules/indent.html,该文给出详细的用法。

   试用了几次,我发现参数“-i4 -bli0 -ut -ts4”是我喜欢的风格。

 

批量格式化文件的方法(我自己写的脚本,已经过验证)

1.Windows 用户:

  1. 进入你需要格式整理的源代码根目录

  2.将下面的内容另存为 indent_my_prg.bat

  3. 运行indent_my_prg.bat

 

@echo off

setlocal enabledelayedexpansion

dir *.c /s /b>c_list.txt

for /f "tokens=1* delims=" %%a in ('findstr . c_list.txt') do (

::echo %%a

set aa=%%a

indent -i4 -bli0 -ut -ts4 !aa!)

 

1.Linux 用户:

 1. 进入你需要格式整理的源代码根目录

2. -------下面的内容另存为 indent_my_prg_in.sh

3. 运行indent_my_prg_in.sh

 

@echo off

setlocal enabledelayedexpansion

dir *.c /s /b>c_list.txt

for /f "tokens=1* delims=" %%a in ('findstr . c_list.txt') do (

::echo %%a

set aa=%%a

indent -i4 -bli0 -ut -ts4 !aa!)

 

Indent 到底能够将代码排成什么样的,下面给出一个例子,以下给出一个格式比较变态,可计算大数阶乘的程序

 

#define N 100

int a[N*5]={1},n=N,i,c,m=1;main(){for(;n;n--){for(c=i=0;i<m||c;)a[i++]=(c+=a[i]*n)%10,c/=10;m=i;}for(;m;)putch(a[--m]+48);}

 

下面是格式重排后的代码,是不是好看了很多。

 

#define N 100
int a[N * 5] = { 1 }, n = N, i, c, m = 1;
main ()
{
        for (; n; n--)
        {
                  for (c = i = 0; i < m || c;)
                           a[i++] = (c += a[i] * n) % 10, c /= 10;
                  m = i;
        }
        for (; m;)
                  putch (a[--m] + 48);
}转载 地址 http://blog.csdn.net/liangbch/article/details/7516487

0 0
原创粉丝点击