逐行讀取輸入,將 <、>、空格、Tab轉義為對應HTML實體或保持原樣,其餘字元原樣輸出。
| 輸入字元 | 輸出 |
|---|---|
< | < |
> | > |
| 空格 | 空格 |
| Tab | (四個空白) |
#include <stdio.h>
#include <string.h>
int main() {
char string[100];
while (gets(string) != NULL) {
int len = strlen(string);
for (int i = 0; i < len; i++) {
switch (string[i]) {
case '<': printf("<"); break;
case '>': printf(">"); break;
case ' ': printf(" "); break;
case '\t': printf(" "); break;
default: printf("%c", string[i]);
}
}
printf("\n");
}
return 0;
}
else if(string[i]==' ')出現兩次,第二次疑為處理Tab(\t),此處已修正gets()有緩衝區溢位風險,實務建議用fgets()