を作成していまして、下記のように完成しました。
#include "stdafx.h"
#define TABSTOP 4
void put_tab_and_space(int num_tab, int num_blank);
int main(int argc, char* argv[/url])
{
int c, ntab, nblank, pos;
nblank = 0;
ntab = 0;
pos = 0;
while((c = getchar()) != EOF){
if(c == ' '){
pos++;
if(pos % TABSTOP != 0){
nblank++;
}
else{
nblank = 0;
ntab++;
}
}
else{
put_tab_and_space(ntab, nblank);
ntab = 0;
nblank = 0;
putchar(c);
if(c == '\n'){
pos = 0;
}
else{
pos++;
}
}
}
put_tab_and_space(ntab, nblank);
return 0;
}
void put_tab_and_space(int num_tab, int num_blank)
{
int i;
for(i = 0; i < num_tab; i++){
putchar('\t');
}
for(i = 0; i < num_blank; i++){
putchar(' ');
}
}
これをCのソースファイルに適用すると(上記のプログラムではタブを考慮していないのでファイル内にあるタブは空白で置き換えます)変換前のソースコードと変換後では見た目上は瓜二つですが
文字列や文字定数を特別処理しないとソースコードとしては同じものにならないとか言われたのですが
まるで同じにしか見えません。これについてわかる方いませんか?