C语言程序注释

C语言程序注释,第1张

#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=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")

}

}

C语言标准

最初只有一种注释

就是以/*开始 到*/结束。 中间部分 都是注释。

后来增加了行注释

以//开始。 //之后的整行 都是注释。

目前//用的更多一些。


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

原文地址: http://outofmemory.cn/yw/7926633.html

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

发表评论

登录后才能评论

评论列表(0条)

保存