问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

给c语言加注释

发布网友 发布时间:2022-04-22 00:14

我来回答

5个回答

热心网友 时间:2023-07-15 09:27


在编写C语言源代码时,应该多使用注释,这样有助于对代码的理解。在C语言中有两种注释方式:
一种是以/*开始、以*/结束的块注释(block comment);
另一种是以//开始、以换行符结束的单行注释(line comment)。

可以使用/*和*/分隔符来标注一行内的注释,也可以标注多行的注释。例如,在下列的函数原型中,省略号的意思是 open() 函数有第三个参数,它是可选参数。注释解释了这个可选参数的用法:
int open( const char *name, int mode, … /* int permissions */ );
可以使用//插入整行的注释,或者将源代码写成两列分栏的格式,程序在左列,注释在右列:
const double pi = 3.1415926536; // pi是—个常量

在 C99 标准中,单行注释正式加入C语言,但是大部分编译器在 C99 之前就已经开始支持这种用法。有时候,其被称作“C++风格”的注释,但实际上,其源自于C的前身 BCPL。

在引号中,如果采用/*或//分隔一个字符常量或字符串字面量(string literal),它们都不会被视为注释的开始。例如,下面语句就没有注释:
printf("Comments in C begin with /* or //.\n" );
预处理器仅通过检查注释的结束符来检测注释中的字符,因此,不能嵌套块注释。然而,可以使用/*和*/注释包含单行注释的源代码:
/* 暂时注释掉这两行:
const double pi = 3.1415926536; // pi是一个常量
area = pi * r * r; // 计算面积
暂时注释到此 */

如果想要注释掉包含块注释的部分程序,可以使用条件预处理命令:
#if 0
const double pi = 3.1415926536; /* pi是一个常量 */
area = pi * r * r ; /* 计算面积 */
#endif
预处理器会把每个注释都替换成一个空格。因此,min/*max*/Value变成两个标记min Value。
所有教程

热心网友 时间:2023-07-15 09:27

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

热心网友 时间:2023-07-15 09:28

看了一下,没有一个好好回答的
一行一行注释太累,
这个代码就是用循环链表实现约瑟夫环
简单的说,就是n个人围一圈报数,报到m的出列,一直到只剩一个人为止,输出最后剩下那个人原本位置追问大佬能不能说一下ruturn h 前面的注释,老师要我讲的,但是什么都不清楚,我给你加悬赏。

追答手机上不能复制代码
循环前面几句,是申请第一个节点,next指向自身(最小的循环链表),tail指向自身,num赋值为1
后面循环依次申请n-1个节点,num赋值2到n
采用尾插,也就是插入到前一个申请节点的后面,同时将tail指向新申请节点,新申请节点的next指向原本tail的next,仔细想想就知道,tail一直在变,但tail的next指向的一直是第一个节点(num=1)
于是构建的循环链表就是1-2-3-...-n-1

热心网友 时间:2023-07-15 09:28

在 C99 标准中,单行注释正式加入C语言,但是大部分编译器在 C99 之前就已经开始支持这种用法。有时候,其被称作“C++风格”的注释

热心网友 时间:2023-07-15 09:29

在 C99 标准中,单行注释正式加入C语言,但是大部分编译器在 C99 之前就已经开始支持这种用法。有时候,其被称作“C++风格”的注释,但实际上,其源自于C的前身 BCPL。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
真三国无双8手柄怎么设置 手柄设置技巧 沈阳机场轻轨的运行间隔是多少 沈抚轻轨概述 沈阳机场轻轨的票价是多少 沈阳轻轨5号线全线站点及时间 沈阳最早和最晚的一班轻轨是几点 内存条是单插一根好,还是双通道好! 碧玉和玛瑙区别 碧玉和玛瑙的区别 碧玉与玛瑙的区别 大陆人去香港要办什么证件? 人的生殖器和猩猩的生殖器有区别吗 c语言中可以对程序进行注释,注释部分如果占多行,必... 中国大陆居民怎样才能到香港工作 雄猩猩阴茎形状? C语言里有哪些注释方法 大陆人去香港需要什么证件? 大陆人到香港需要什么证件? C语言中注释能不能不写或乱写? 猩猩的外阴是否和人类相似? 大陆人可以在香港工作吗? c语言中注释的位置 C语言注释的语法是怎样的? 大陆人去香港需要办些什么证件 C语言中//注释和/*注释有什么区别 C语言程序注释 大陆人去香港需要什么证件 怎么才能彻底杀死蟑螂 大陆人可以去香港工作吗? C语言中如何注释? 我们大陆人去香港还要护照吗 猩猩器官和人类一样吗? 大陆人可以去香港打工吗 湖南卫视奇怪的朋友里面,雌性大猩猩妞妞屁股后面... 疫情期间中国内地居民可以去香港吗 大陆居民到入境香港能呆多长时间?需要办理什么手续? 雄猩猩阴茎形状 动物尤其猴子和大猩猩有没有处女膜 大陆人去香港现在需要办什么证件 听说艾滋病是非洲人与大猩猩.性.交时传染上的。这... 女性和巴诺布猿雌性的区别 前苏联进行的猩猩生殖实验,最后是什么结局? 猩猩有处女膜吗? 猩猩和猴子有生理周期吗? 为什么人类还没有进化到像其他猿类一样聪明、强大... 成年人徒手能打过那些野兽 人体的的组成结构有哪些? 蜻蜓的生殖行为 柜员机无卡存款怎么操作 存取款一体机怎么存款