《Cプログラム設計言語》学習ノート——練習1-20

761 ワード

この問題は最初は戸惑っていたが、タブストップを計算する方法を見つけて、まだ難しくないと思った.
#include 
#define TAB 8	/*            */

/*   1-20     detab,                   (       
          )。               ,     n     。n  
           ?
*/

main()
{
	int c, i, n; /* c        ,
				 i                          ,
				 n             */
	i = 0;

	while ((c = getchar()) != EOF)
	{
		if (c != '\t') /*      ,     ,    1 */
		{
			printf("%c", c);
			++i;
		}
		else /*     */
		{
			if(i % TAB == 0)	/*            */
			{
				printf("        ");
				i += TAB;
			}
			else /*             */
			{
				for(n = 0; n < (TAB - i % TAB); ++n) /*     n             ,    n      */
					printf(" ");
				i += (TAB - i % TAB);
			}
		}
	}
}