問題的引入:為什麼需要注釋?
問題的解答:1.使用一些注釋符來增加我們程式的可讀性,2.遮蔽掉一些不需要程式。
注釋符一般分為兩種:一種是以「/*」開頭,在中間加上注釋內容,並以「*/」結尾的段落注釋符。在「/*」和「*/」之間的即為注釋。
另一種是以「//」開頭,後面加注釋內容的單行注釋符。在「//」之後的即為注釋。
其中:`1.c語言的注釋符是以「/*」開頭並以「*/」結尾的串。在「/*」和「*/」之間的即為注釋。 2.在c++語言源程式中可以用「/*....*/」做注釋符,也可以用「//」做注釋符。其中,「/*....*/」為多行注釋符,「//」為單行注釋符。
示例:請將以下input.c檔案中的注釋,全部轉換為c++的注釋風格
// 1.一般情況
int num = 0;
/* int i = 0; */
// 2.換行問題
/* int i = 0; */
int j = 0;
/* int i = 0; */
int j = 0;
// 3.匹配問題
/*int i = 0;/****xx*/
// 4.多行注釋問題
/*int i=0;
int j = 0;
int k = 0;
*/int k = 0;
// 5.連續注釋問題
/**//**/
// 6.連續的**/問題
/***/
// 7.c++注釋問題
// /**************/
通過檔案我們分析到主要牽扯到四種問題:c語言和無狀態的互相轉換,c++和無狀態的轉換,無狀態和結束狀態的轉換,c++和結束狀態的轉換。
程式設計思路:建立乙個主函式——主函式放用於實現注釋轉換功能的呼叫函式——然後這個呼叫函式存放用於實現這四種狀態的函式——然後分別實現這四種狀態函式
標頭檔案
#define _crt_secure_no_warnings 1
#ifndef __comment_convert_h__
#define __comment_convert_h__
#include
#include
typedef enum state
state;
void donostate(file*pfread, file*pfwrite, state *ps);
void docstate(file*pfread, file*pfwrite, state *ps);
void docppstste(file *pfread, file* pfwrite, state *ps);
void commentconvert(file*pfread, file*pfwrite);
#endif //__comment_convert_h__
源函式
#define _crt_secure_no_warnings 1
#include"comment_convert.h"
void donostate(file*pfread, file*pfwrite, state *ps)//無狀態函式
break;
case
'/': //第二種情況
break;
default:
break;}}
break;
case eof: //表示結束
break;
default:
break;}}
}void docstate(file*pfread, file*pfwrite, state *ps)//c語言狀態
else
*ps = nul_state; //狀態轉換為無注釋狀態
}break;
default:
break;}}
break;
case
'\n': //是\n
break;
default:
break;}}
} void docppstste(file *pfread, file* pfwrite, state *ps)//c++狀態
break;
case eof:
break;
default:
break;}}
void commentconvert(file*pfread, file*pfwrite)}}
主函式
#define _crt_secure_no_warnings 1
#include"comment_convert.h"
int main
() pfwrite = fopen("output.txt", "w");
if (pfwrite == null)
commentconvert(pfread, pfwrite);
fclose(pfread);
pfread = null;
fclose(pfwrite);
pfwrite = null;
system("pause");
return
0;}
最後函式實現如圖 注釋轉換 (C語言注釋轉換為c 注釋)
1.一般情況 int num 0 int i 0 2.換行問題 int i 0 int j 0 int i 0 int j 0 3.匹配問題 int i 0 xx 4.多行注釋問題 int i 0 int j 0 int k 0 int k 0 5.連續注釋問題 6.連續的 問題 7.c 注釋問題 ...
注釋轉換小專案(c注釋 到c 注釋)
首先歡迎閱讀本文,注釋轉換小專案涉及到c語言對檔案的操作,另外這個小專案還應該對各種情況都考慮到。將c語言注釋轉換為c 注釋 1.一般情況 int i 0 2.換行問題 int i 0 int j 0 int i 0 int j 0 3.匹配問題 int i 0 x 4.多行注釋 int i 0 i...
C到C 注釋的轉換
如上圖 利用狀態機的思想來解決c注釋到c 注釋的轉換。不允許注釋巢狀 在狀態內處理,狀態間跳轉,根據不同的的事情發生相應的動作,並進行相應的狀態轉換。程式共有四種狀態 nulstate 無狀態 cstate c狀態 cppstate c 狀態 endstate 結束狀態 1.當為無狀態時,遇到特定標...