最近、文字列のエスケープシーケンスをエスケープするプログラムを作ろうとしていました。すべてがうまく見え、まだプログラムをテストするときにエラーメッセージは表示されません。何も印刷されません。奇妙な動作printf-c lang
#include <stdio.h>
#define MAXLINE 1000
void escape(char s[], char t[]);
int main() {
char s[MAXLINE], t[MAXLINE];
int i, c;
for (i = 0; (c = getchar()) != EOF; i++)
c = s[i];
s[i] = '\0';
escape(s, t);
printf("%s\n",t);
return 0;
}
void escape(char s[], char t[]) {
int j = 0, i;
for (i = 0; s[i] != '\0'; i++) {
switch (s[i]) {
case '\n':
t[j] = '\\';
t[++j] = 'n';
++j;
break;
case '\t':
t[j] = '\\';
t[++j] = 't';
++j;
break;
default:
t[j] = s[i];
++j;
break;
}
}
t[j] = '\0';
}
ありがとうございます。
これは何をするつもりですか?for(i = 0;(c = getchar())!= EOF; i ++) c = s [i]; '?入力と出力の例を教えてください。 –