C语言中如何注释? C语言中如何注释

c\u8bed\u8a00\u4e2d\u6ce8\u91ca\u7684\u4f4d\u7f6e

1\u3001\u53ef\u4ee5\u4f7f\u7528/*\u548c*/\u5206\u9694\u7b26\u6765\u6807\u6ce8\u4e00\u884c\u5185\u7684\u6ce8\u91ca\uff0c\u4e5f\u53ef\u4ee5\u6807\u6ce8\u591a\u884c\u7684\u6ce8\u91ca\u3002\u4f8b\u5982\uff0c\u5728\u4e0b\u5217\u7684\u51fd\u6570\u539f\u578b\u4e2d\uff0c\u7701\u7565\u53f7\u7684\u610f\u601d\u662f open() \u51fd\u6570\u6709\u7b2c\u4e09\u4e2a\u53c2\u6570\uff0c\u5b83\u662f\u53ef\u9009\u53c2\u6570\u3002\u6ce8\u91ca\u89e3\u91ca\u4e86\u8fd9\u4e2a\u53ef\u9009\u53c2\u6570\u7684\u7528\u6cd5\uff1a
int open( const char *name, int mode, \u2026 /* int permissions */ );
2\u3001\u53ef\u4ee5\u4f7f\u7528//\u63d2\u5165\u6574\u884c\u7684\u6ce8\u91ca\uff0c\u6216\u8005\u5c06\u6e90\u4ee3\u7801\u5199\u6210\u4e24\u5217\u5206\u680f\u7684\u683c\u5f0f\uff0c\u7a0b\u5e8f\u5728\u5de6\u5217\uff0c\u6ce8\u91ca\u5728\u53f3\u5217\uff1a
const double pi = 3.1415926536; // pi\u662f\u2014\u4e2a\u5e38\u91cf

\u6269\u5c55\u8d44\u6599
\u5728 C99 \u6807\u51c6\u4e2d\uff0c\u5355\u884c\u6ce8\u91ca\u6b63\u5f0f\u52a0\u5165C\u8bed\u8a00\uff0c\u4f46\u662f\u5927\u90e8\u5206\u7f16\u8bd1\u5668\u5728 C99 \u4e4b\u524d\u5c31\u5df2\u7ecf\u5f00\u59cb\u652f\u6301\u8fd9\u79cd\u7528\u6cd5\u3002\u6709\u65f6\u5019\uff0c\u5176\u88ab\u79f0\u4f5c\u201cC++\u98ce\u683c\u201d\u7684\u6ce8\u91ca\uff0c\u4f46\u5b9e\u9645\u4e0a\uff0c\u5176\u6e90\u81ea\u4e8eC\u7684\u524d\u8eab BCPL\u3002
1\u3001\u5728\u5f15\u53f7\u4e2d\uff0c\u5982\u679c\u91c7\u7528/*\u6216//\u5206\u9694\u4e00\u4e2a\u5b57\u7b26\u5e38\u91cf\u6216\u5b57\u7b26\u4e32\u5b57\u9762\u91cf\uff08string literal\uff09\uff0c\u5b83\u4eec\u90fd\u4e0d\u4f1a\u88ab\u89c6\u4e3a\u6ce8\u91ca\u7684\u5f00\u59cb\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u8bed\u53e5\u5c31\u6ca1\u6709\u6ce8\u91ca\uff1a
printf("Comments in C begin with /* or //.\n" );
2\u3001\u9884\u5904\u7406\u5668\u4ec5\u901a\u8fc7\u68c0\u67e5\u6ce8\u91ca\u7684\u7ed3\u675f\u7b26\u6765\u68c0\u6d4b\u6ce8\u91ca\u4e2d\u7684\u5b57\u7b26\uff0c\u56e0\u6b64\uff0c\u4e0d\u80fd\u5d4c\u5957\u5757\u6ce8\u91ca\u3002\u7136\u800c\uff0c\u53ef\u4ee5\u4f7f\u7528/*\u548c*/\u6ce8\u91ca\u5305\u542b\u5355\u884c\u6ce8\u91ca\u7684\u6e90\u4ee3\u7801\uff1a
/* \u6682\u65f6\u6ce8\u91ca\u6389\u8fd9\u4e24\u884c\uff1a
const double pi = 3.1415926536; // pi\u662f\u4e00\u4e2a\u5e38\u91cf
area = pi * r * r; // \u8ba1\u7b97\u9762\u79ef
\u6682\u65f6\u6ce8\u91ca\u5230\u6b64 */

\u4e00\u822c\u6765\u8bb2\u6709\u4e24\u79cd\uff1a
\u4e00\u662f\u5355\u884c\u6ce8\u91ca\uff1a\u76f4\u63a5\u5728\u8be5\u884c\u9700\u8981\u6ce8\u91ca\u7684\u5730\u65b9\u52a0\u4e0a"//"\u5c31\u884c\u4e86\u3002\u4f8b\u5982\uff1a
"int a,b;//\u8fd9\u662f\u4e00\u4e2a\u6ce8\u91ca\u884c"\u3002\u90a3\u4e48\uff0c"//"\u540e\u9762\u7684\u90e8\u5206"\u8fd9\u662f\u4e00\u4e2a\u6ce8\u91ca\u884c"\u5c31\u88ab\u6ce8\u91ca\u6389\u4e86\uff0c\u4e0d\u8d77\u4f5c\u7528\uff0c\u4f46\u662f"//"\u524d\u9762\u7684\u201cint a,b;"\u4e0d\u53d7\u5f71\u54cd\u3002
\u53e6\u5916\u8fd8\u6709\u4e00\u79cd\u662f\u591a\u884c\u540c\u65f6\u6ce8\u91ca\uff1a
/*
int a,b;
int c,d;
*/
\u5176\u4e2d"/*"\u548c"*/"\u8d77\u9650\u5b9a\u8303\u56f4\u7684\u4f5c\u7528\uff0c\u8be5\u8303\u56f4\u5185\u7684\u8bed\u53e5\u90fd\u4f1a\u88ab\u6ce8\u91ca\u6389\uff0c\u5c06\u4e0d\u518d\u8d77\u4f5c\u7528\u3002\u5f53\u7136\uff0c\u591a\u884c\u6ce8\u91ca\u4e5f\u662f\u53ef\u4ee5\u7528\u6765\u5355\u884c\u6ce8\u91ca\u7684

一般来讲有两种:
一是单行注释:直接在该行需要注释的地方加上"//"就行了。例如:
"int a,b;//这是一个注释行"。那么,"//"后面的部分"这是一个注释行"就被注释掉了,不起作用,但是"//"前面的“int a,b;"不受影响。
另外还有一种是多行同时注释:
/*
int a,b;
int c,d;
*/
其中"/*"和"*/"起限定范围的作用,该范围内的语句都会被注释掉,将不再起作用。当然,多行注释也是可以用来单行注释的

#include<stdio.h> //标准输入输出库所在的头文件
//自定义函数声明
void add(int *m,int *m1,int *m2,int r,int c); //矩阵加法
void sub(int *m,int *m1,int *m2,int r,int c); //矩阵减法
void mult(int *m,int *m1,int *m2,int r,int p,int c); //矩阵乘法
void disp(int *m,int r,int c); //打印数组数据(矩阵里的数据)
//主测试函数
void main()
{
int a[3][4]={{4,3,5,2},{5,1,7,3},{2,7,6,2}};
int b[3][4]={{2,4,4,-7},{4,2,5,-8},{7,-3,-4,2}};
int c[4][3]={{5,4,4},{1,3,1},{4,4,2},{7,1,3}};
int d[3][4]={0};
int e[3][4]={0};
int f[3][3]={0};
printf("\nA(3x4):\n");
disp(a[0],3,4); //显示矩阵a
printf("\nB(3x4):\n");
disp(b[0],3,4); //显示矩阵b
add(d[0],a[0],b[0],3,4); // 计算矩阵 a + b,并将结果存到d中
printf("\nD(3x4)=A+B:\n");
disp(d[0],3,4); //显示a+b的结果(即d中的数据)
sub(e[0],a[0],b[0],3,4);// 计算矩阵 a - b,并将结果存到e中
printf("\nE(3x4)=A-B:\n");
disp(e[0],3,4);//显示a-b的结果(即e中的数据)
printf("\nA(3x4):\n");
disp(a[0],3,4); // 显示矩阵a
printf("\nC(4x3):\n");
disp(c[0],4,3); //显示矩阵c
mult(f[0],a[0],c[0],3,4,3); //计算矩阵a*c 并将结果存到f中
printf("\nF(3x3)=A*C:\n");
disp(f[0],3,3); //显示a*c的结果(即f中的数据)
}
//函数定义
/*
*****函数功能:两个矩阵进行加法运算 C = A+B
*****参数: m 指向运算结果存放的二维数组(即矩阵) C的首地址
***** m1为矩形A的首地址,m2为矩形B的首地址
***** r 为矩阵的行数, c为矩阵的列数
*(m+i*c+j) = *(m1+i*c+j) + *(m2+i*c+j);这个表示将矩阵A的第i行j列的数据 与 矩阵B的第i行j列的数据 相加
然后将结果赋值给矩阵C的第i行j列数据
*(m1+i*c+j) :m1+i*c+j 这个表示指向矩阵A的第i行第j列的数据的指针,则 *(m1+i*c+j) 就表示矩阵A的第i行第j列的数据
*(m2+i*c+j) :m2+i*c+j 这个表示指向矩阵B的第i行第j列的数据的指针,则 *(m2+i*c+j) 就表示矩阵B的第i行第j列的数据
*(m+i*c+j) : m+i*c+j 这个表示指向矩阵C的第i行第j列的数据的指针,则 *(m+i*c+j) 就表示矩阵C的第i行第j列的数据
这里是用指针实现的,
*(m+i*c+j) = *(m1+i*c+j) + *(m2+i*c+j);
等价于
c[i][j] = a[i][j] + b[i][j];
*/
void add(int *m,int *m1,int *m2,int r,int c) //
{
int i,j;
for(i=0; i<r; i++)
for(j=0; j<c; j++)
*(m+i*c+j) = *(m1+i*c+j) + *(m2+i*c+j);
}
//注释与上边加法类似
void sub(int *m,int *m1,int *m2,int r,int c) //两个矩阵之间的减法运算
{
int i,j;
for(i=0; i<r; i++)
for(j=0; j<c; j++)
*(m+i*c+j) = *(m1+i*c+j) - *(m2+i*c+j);
}
/*注释与上边类似,因为矩阵乘法运算公式较为复杂一些,可自行对照矩阵乘法运算公式
如矩阵c = a * b
for(k=0; k<p; k++)
t += *(m1+i*p+k) * *(m2+k*c+j); //表示将m1的第i行k列的数据 与 m2的第k行j列的数据相乘 ,
//并将p (k的值从0到p) 次结果进行累加
*(m+i*c+j)=t; //最后将这个累加的结果赋值给矩阵c的第i行第j列的数据
*/
void mult(int *m,int *m1,int *m2,int r,int p,int c)//两个矩阵之间的乘法运算
{
int i,j,k,t;
for(i=0; i<r; i++)
for(j=0; j<c; j++)
{
t=0;
for(k=0; k<p; k++)
t += *(m1+i*p+k) * *(m2+k*c+j);
*(m+i*c+j)=t;
}
}
//显示打印矩阵中的数据
void disp(int *m,int r,int c)
{
int i,j;
for(i=0; i<r; i++)
{
for(j=0; j<c; j++)
printf("%6d",*(m+i*c+j));
printf("\n");
}
}

答:在用C语言编程时,常用的注释方式有如下几种:
(1)单行注释
//…
(2)多行注释
/*…*/
(3)条件编译注释
#if
0…#endif
拓展资料:
对于(1),注释只能显示在一行内,通常出现在一条语句的右边或者上方,对于注释符”//”,一个注释里只要有多余2个’/’都可以。
对于(2),”/*…*/”不能嵌套使用,正如”if…else”中的”else”总是和隔它最近的”if”配对一样,”/*”总是和离它最近的”*/”相配对。
针对(1)和(2)各自的缺陷,资深的程序员提出如(3)所示的注释,该注释的好处是能注释大块的程序,并且没有嵌套的限制,也就是说在”#if
0…#endif”的”…”处可以有”//”或”/*…*/”这样的注释。

变量、保留字的字符之间不能有注释其他任何位置都可以加注释
包括:
一、单独一行可以在任何位置
二、与其他语句在一行,可以在末尾
三、在一行的首位置
四、在中间的任意位置
当然这里的注释是指/*
*/这样的有界限的不是//这样的注释,//只使用与第一二两种情况。

你写的程序中使用了 /*...*/ 的注释符,其意义为注释掉它们之间的全部内容,可以注释多行。也就是说,你已经把语句"b = 20;"注释掉了。程序后面由于有使用变量b,所以程序会出现逻辑错误,b没有被赋值为20,它的值仍然是0。后面的注释没有问题。

  • C璇█娉ㄩ噴鏂瑰紡鏈夊摢浜?
    绛旓細绛旓細鍦ㄧ敤C璇█缂栫▼鏃讹紝甯哥敤鐨勬敞閲婃柟寮忔湁濡備笅鍑犵锛氾紙1锛夊崟琛屾敞閲 //鈥︼紙2锛夊琛屾敞閲 /*鈥*/ 锛3锛夋潯浠剁紪璇戞敞閲 #if 0鈥#endif
  • c璇█濡備綍娉ㄩ噴?
    绛旓細鍙互浣跨敤/*鍜*/鍒嗛殧绗︽潵鏍囨敞涓琛屽唴鐨勬敞閲婏紝涔熷彲浠ユ爣娉ㄥ琛岀殑娉ㄩ噴銆備緥濡傦紝鍦ㄤ笅鍒楃殑鍑芥暟鍘熷瀷涓紝鐪佺暐鍙风殑鎰忔濇槸 open() 鍑芥暟鏈夌涓変釜鍙傛暟锛屽畠鏄彲閫夊弬鏁般傛敞閲婅В閲婁簡杩欎釜鍙夊弬鏁扮殑鐢ㄦ硶锛歩nt open( const char *name, int mode, 鈥 /* int permissions */ )锛涗唬鐮佸叿鏈夎緝濂界殑鍙Щ妞嶆 C璇█鏄潰...
  • C璇█绋嬪簭娉ㄩ噴
    绛旓細璇存槑:娉ㄩ噴鐨鍘熷垯鏄湁鍔╀簬瀵圭▼搴忕殑闃呰鐞嗚В,鍦ㄨ鍔犵殑鍦版柟閮藉姞浜,娉ㄩ噴涓嶅疁澶涔熶笉鑳藉お灏,娉ㄩ噴璇█蹇呴』鍑嗙‘銆佹槗鎳傘佺畝娲併2:璇存槑鎬ф枃浠(濡傚ご鏂囦欢.h鏂囦欢銆.inc鏂囦欢銆.def鏂囦欢銆佺紪璇戣鏄庢枃浠.cfg绛)澶撮儴搴旇繘琛屾敞閲,娉ㄩ噴蹇呴』鍒楀嚭:鐗堟潈璇存槑銆佺増鏈彿銆佺敓鎴愭棩鏈熴佷綔鑰呫佸唴瀹广佸姛鑳姐佷笌鍏跺畠鏂囦欢鐨勫叧绯汇佷慨鏀规棩蹇楃瓑,澶存枃...
  • C璇█娉ㄩ噴鐨勮娉曟槸鎬庢牱鐨?
    绛旓細C璇█涓湁涓ょ娉ㄩ噴锛屽叿浣撹鏄庡涓嬶細1銆 /**/褰㈠紡銆傝繖绉嶆敞閲婃槸C鏈鏃╂敮鎸佺殑鍞竴鏂瑰紡锛屾敞閲婃涓轰竴涓潡锛屼互/*寮濮嬶紝鍒*/缁撴潫銆傝繖绉嶆敞閲婂彲浠ュ湪琛岄锛屽锛/* 娉ㄩ噴 */ int a=0;鍙互鍦ㄨ灏撅紝濡傦細int a=0;/* 娉ㄩ噴 */鍙互鍦ㄨ鍙ヤ腑闂达紝濡傦細int a=鍙互鏄琛屾敞閲婏紝濡傦細int a=0;/* 娉ㄩ噴娉ㄩ噴娉ㄩ噴...
  • c璇█娉ㄩ噴鐨勪袱绉嶅舰寮
    绛旓細鍦–璇█涓紝娉ㄩ噴鏈変袱绉嶅舰寮忥細鍗曡娉ㄩ噴鍜屽琛屾敞閲銆傚崟琛屾敞閲婁互“//”寮澶达紝鐩村埌璇ヨ缁撳熬銆傚畠浠彲浠ョ敤鏉ュ湪浠g爜涓坊鍔犱竴浜涙敞閲婃垨璇存槑銆備緥濡傦細int sum = 1 + 2; // 璁$畻1鍜2鐨勫拰 澶氳娉ㄩ噴浠“/*”寮澶达紝浠“*/”缁撳熬銆傚畠浠彲浠ョ敤鏉ユ敞閲婁竴娈垫垨澶氳浠g爜銆備緥濡傦細/*...
  • c璇█娉ㄩ噴鐨勪袱绉嶆柟娉
    绛旓細璇ヨ瑷娉ㄩ噴鏂瑰紡涓哄崟琛屾敞閲婂拰澶氳娉ㄩ噴锛氬崟琛屾敞閲婏細鍗曡娉ㄩ噴浠//寮濮嬶紝骞朵笖鍙敞閲婃帀//涔嬪悗鐨勫唴瀹癸紝鐩村埌璇ヨ缁撴潫銆傚琛屾敞閲婏細澶氳娉ㄩ噴浠/*寮濮嬶紝浠*/缁撴潫銆傚湪杩欎箣闂寸殑鎵鏈夊唴瀹归兘浼氳娉ㄩ噴鎺夛紝涓嶈瀹冧滑璺ㄨ秺浜嗗灏戣銆傝櫧鐒舵敞閲婂浜庣悊瑙d唬鐮佸緢鏈夌敤锛屼絾瀹冧滑涓嶄細鍦ㄧ紪璇戞椂琚冭檻锛屾墍浠ュ畠浠笉浼氬奖鍝嶇▼搴忕殑杩愯銆...
  • C璇█鏂囨湰娉ㄩ噴鎬庝箞鐢
    绛旓細涓鑸潵璁叉湁涓ょ锛氫竴鏄崟琛屾敞閲婏細鐩存帴鍦ㄨ琛岄渶瑕娉ㄩ噴鐨鍦版柟鍔犱笂"//"灏辫浜嗐備緥濡傦細"int a,b;//杩欐槸涓涓敞閲婅"銆傞偅涔堬紝"//"鍚庨潰鐨勯儴鍒"杩欐槸涓涓敞閲婅"灏辫娉ㄩ噴鎺変簡锛屼笉璧蜂綔鐢紝浣嗘槸"//"鍓嶉潰鐨勨渋nt a,b;"涓嶅彈褰卞搷銆傚彟澶栬繕鏈変竴绉嶆槸澶氳鍚屾椂娉ㄩ噴锛/ int a,b;int c,d;/ 鍏朵腑"/*"...
  • c璇█鐨勬敞閲鍒嗕负鍑犵鎯呭喌鍟?
    绛旓細C璇█涓锛屾敞閲婃湁涓ょ绫诲瀷 1銆佸崟琛屾敞閲 鍗曡娉ㄩ噴閫氬父鐢ㄤ簬瀵圭▼搴忎腑鐨勬煇涓琛屼唬鐮佽繘琛岃В閲婏紝鐢ㄢ//鈥濈鍙疯〃绀猴紝鍚庨潰涓烘敞閲婄殑鍐呭 绀轰緥浠g爜 Printf("Hello,world\n"); //杈撳嚭Hello锛寃orld 2銆佸琛屾敞閲 澶氳娉ㄩ噴灏辨槸娉ㄩ噴涓鐨勪唬鐮侊紝鍙互涓哄琛岋紝浠ョ鍙封/*鈥滃紑澶达紝浠ョ鍙封*/鈥濈粨灏 绀轰緥浠g爜 /* p...
  • C璇█缂栫▼鐨勬敞閲绗﹀彿鏄?
    绛旓細鏈変袱绉嶆敞閲婃柟娉曪細// 琛屾敞閲婏紝鍙互娉ㄩ噴鍏跺悗鐨勪竴琛屻/* */ 鍧楁敞閲婏紝娉ㄩ噴杩欎袱涓鍙蜂腑闂寸殑鎵鏈夊尯鍩熴傘愰噴鐨勫師鍒欍娉ㄩ噴鐨鐩殑鏄В閲婁唬鐮佺殑鐩殑銆佸姛鑳藉拰閲囩敤鐨勬柟娉曪紝鎻愪緵浠g爜浠ュ鐨勪俊鎭紝甯姪璇昏呯悊瑙d唬鐮侊紝闃叉娌″繀瑕佺殑閲嶅娉ㄩ噴淇℃伅銆 绀轰緥锛氬涓嬫敞閲婃剰涔変笉澶с/* if receive_flag is TRUE */ if (...
  • C璇█閲鏈夊摢浜娉ㄩ噴鏂规硶?
    绛旓細涓ょ锛屽崟琛娉ㄩ噴鍜屾垚瀵规敞閲娿傚崟琛屾敞閲婁互鍙屾枩绾匡紙//锛夊紑澶淬傚悓涓琛屼腑鏂滅嚎鍙充晶鐨鎵鏈夊唴瀹归兘鏄敞閲婏紝浼氳缂栬瘧鍣ㄧ暐杩囥傚彟涓涓垎闅旂鏄敞閲婄鍙峰锛/* */锛夈
  • 扩展阅读:c++编程 ... c语言基础知识 ... c语言一键注释 ... c语言如何快速注释 ... c语言两种注释方法 ... c语言编程注释怎么写 ... c语言注释怎么添加 ... c语言注释怎么标注 ... c语言如何注释掉一段代码 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网