c语言如何注释?

c语言如何注释?,第1张

直接在该行需要注释的地方加上"//"即可。

可以使用/*和*/分隔符来标注一行内的注释,也可以标注多行的注释。例如,在下列的函数原型中,省略号的意思是 open() 函数有第三个参数,它是可选参数。

注释解释了这个可选参数的用法:

int open( const char *name, int mode, … /* int permissions */ );

代码具有较好的可移植性

C语言是面向过程的编程语言,用户只需要关注所被解决问题的本身,而不需要花费过多的精力去了解相关硬件,且针对不同的硬件环境,在用C语言实现相同功能时的代码基本一致,不需或仅需进行少量改动便可完成移植,这就意味着,对于一台计算机编写的C程序可以在另一台计算机上轻松地运行,从而极大的减少了程序移植的工作强度。

以上内容参考:百度百科-C语言

答:在用C语言编程时,常用的注释方式有如下几种:

(1)单行注释 //…

(2)多行注释 /*…*/

(3)条件编译注释 #if 0…#endif

拓展资料:

对于(1),注释只能显示在一行内,通常出现在一条语句的右边或者上方,对于注释符”//”,一个注释里只要有多余2个’/’都可以。

对于(2),”/*…*/”不能嵌套使用,正如”if…else”中的”else”总是和隔它最近的”if”配对一样,”/*”总是和离它最近的”*/”相配对。

针对(1)和(2)各自的缺陷,资深的程序员提出如(3)所示的注释,该注释的好处是能注释大块的程序,并且没有嵌套的限制,也就是说在”#if 0…#endif”的”…”处可以有”//”或”/*…*/”这样的注释。

#include //标准输入输出库所在的头文件

//自定义函数声明

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=0i<ri++)

for(j=0j<cj++)

*(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=0i<ri++)

for(j=0j<cj++)

*(m+i*c+j) = *(m1+i*c+j) - *(m2+i*c+j)

}

/*注释与上边类似,因为矩阵乘法运算公式较为复杂一些,可自行对照矩阵乘法运算公式

如矩阵c = a * b

for(k=0k<pk++)

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=0i<ri++)

for(j=0j<cj++)

{

t=0

for(k=0k<pk++)

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=0i<ri++)

{

for(j=0j<cj++)

printf("%6d",*(m+i*c+j))

printf("\n")

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11963135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存