谁能帮我注释一下这段程序(C)

作者&投稿:褒饱 (若有异议请与网页底部的电邮联系)
谁能帮我注释下这个c语言程序?~

已基本搞定。如下:
#define PI 3.1415926
#define step 3
#define R 10
#include
#include
#include /* tc/tc++绘图功能函数必需的头文件 */
#include
#include
main() /* 运动的小车动画c程序 */
{
int gdriver=DETECT,gmode;/* 设定图形驱动类型为:DETECT(自动检测),自动测试显示卡类型,选择相应的驱动程序,此方式下gmode(整数,显示模式)无需设置 */
static int startx=5; /* 设置动画的起始位置(小车的起点位置) */
static int starty=100;
int maxx,l=1,n=1;
double dalta=20,angle;/* dalta步长,angle画小车车轮上的填充扇形,用来显示小车车轮的动态滚动效果 */
int size;
void *image;
initgraph(&gdriver,&gmode,""); /* 初始化图形界面,调用图形驱动程序,设置屏幕为图形界面模式。 */
cleardevice(); /* 清屏 */
setbkcolor(BLUE); /* 设置屏幕背景色为蓝色 */
size=imagesize(startx,starty,startx+60,starty+60);/* 将startx,starty,startx+60,starty+60确定的位图图像范围(字节数)用整数size保存起来 */
image=(unsigned char *)malloc(size); /* 开辟大小为size字节的指向字符的内存空间 */
maxx=getmaxx();/* getmaxx()用来获得屏幕的最大x坐标,以判断小车是否运动到屏幕的左右边界 */
while(!kbhit()) /* 循环,按任一键退出循环 */
{
if(l==1)/* 判断小车的运动方向,l==1小车向右运动�*/
{
n++;
angle=-1*(n*step)/PI*180/R;/* 小车向右运动,轮子顺时针转动,角度angle的绝对值增加,画扇形,产生动态效果 */
if((int)(-1*angle)%360<dalta)
angle-=dalta;
if(n>(maxx-70)/step)
l=0;
}
if(l==0)/* l==0小车向左运动 轮子逆时针转动,角度angle的绝对值减小,画扇形,产生动态效果*/
{
--n;
angle=-1*(n*step)/R/PI*180;
if((int)(-1*angle)%360<dalta)
angle-=dalta;
if(n==1)l=1; /* 小车初始时刻是向右运动 */
}
line(startx+n*step+15,starty,startx+n*step+45,starty); /* 以下为画小车的形状 */
line(startx+n*step+15,starty,startx+n*step+11,starty+20);
line(startx+n*step+45,starty,startx+n*step+49,starty+20);
line(startx+n*step+17,starty+2,startx+n*step+42,starty+2);
line(startx+n*step+17,starty+2,startx+n*step+14,starty+20);
line(startx+n*step+43,starty+2,startx+n*step+46,starty+20);
rectangle(startx+n*step+23,starty+5,startx+n*step+37,starty+20);
rectangle(startx+n*step+27,starty+15,startx+n*step+33,starty+20);
line(startx+n*step+27,starty+10,startx+n*step+23,starty+15);
line(startx+n*step+33,starty+10,startx+n*step+37,starty+15);
line(startx+n*step+2,starty+20,startx+n*step+58,starty+20);
line(startx+n*step,starty+40,startx+n*step+60,starty+40);
line(startx+n*step,starty+40,startx+n*step+2,starty+20);
line(startx+n*step+58,starty+20,startx+n*step+60,starty+40);
bar(startx+n*step+17,starty+22,startx+n*step+43,starty+38);
setcolor(GREEN);
pieslice(startx+n*step+15,starty+50,angle,angle-dalta,10);
pieslice(startx+n*step+45,starty+50,angle,angle-dalta,10);
setcolor(GREEN);
setfillstyle(SOLID_FILL,GREEN);
circle(startx+n*step+15,starty+50,10);
circle(startx+n*step+45,starty+50,10);
circle(startx+n*step+15,starty+50,3);
circle(startx+n*step+45,starty+50,3);
getimage(startx+n*step,starty,startx+n*step+60,starty+60,image);/* 将startx+n*step,starty,startx+n*step+60,starty+60指定区域的位图数据存到内存以地址image开始的size个字节中 */
delay(10000); /* 延时10000毫秒 */
putimage(startx+n*step,starty,image,XOR_PUT);/* 将上面getimage()函数保存的图像输出显示,这里使用的是异或xor运算输出方式,即清除旧的位图,显示新的位图,利用人眼的视觉暂停效应产生小车在运动的效果 */
} /* 其实质就是位图数据不停的写入内存然后再在不同的位置(n在变化)写到屏幕上 */
free(image); /* 释放内存空间 */
closegraph(); /* 关闭图形工作模式 */
}

#include int main(){ int input = 0;//输入的数字 char str[105];//输入的数字进入的字符串 char inorder[105];//输出的字符串 int index = 0;//字符串指针(如果你懂就是栈指针) while(scanf("%d", &input)){//每次读取一串数字 index = 0;//栈指针清零 while(input > 0){//判断是否为有效数字 int tmp = 0;//每次清空代入的数字 tmp = input % 10;//每次取最后一位数字放入字符串 str[index] = (char)(tmp+48);//放入字符串 index ++;//栈指针指向字符串后一位 input /= 10;//本数除以10即舍去最后一位放入字符串的数 } for(int i=0;i<index;i++){ inorder[i] = str[index-i-1];//正序放入输出的字符串 } printf("%s
", inorder);//输出字符串,后每次换行 } return 0;//结束程序}/* 本程序就是将你输入的数字以字符串的形式输出,并换行形成一条列数串*/

这属于C++的范畴,虽然我C++学得也是半斤八两,但是这段代码我还是基本上过得去。

我假设你是有一定的C编程基础,所以就只回答你空间描述的不懂的地方了,每句都翻译枯燥而且也会感觉不知所云。还有什么不懂的,欢迎提问,我有足够的耐性和信心让你搞明白,呵呵^!^

C++中主要是比C多了面向对象的概念。
#include <*****> 表示的是将*****头文件包含进来
#include "*****" 功能一样,只是他们索引文件的方式不一样,初学者不必深究。
*****头文件里面定义了常用的一些预处理,结构体,类等等,可以方便大家直接使用不再定义他们。你可以搜索*****找到它打开看看里面的内容,不要随意修改他们哦,否则你以后写程序要出问题的哟,呵呵。

using namespace std;
表示要用到的一些关键字所在的命名空间
因为用到了cout所以必须加上这句话。

定义了一个Student类,定义类的时候除了可以定义一些变量,还可以定义一些接口,变量和接口都可以用private,public,protected来定义访问 以及 继承权限的。
其实接口更直接一点就是一个函数,或者说成指向函数的指针变量也可以,主要看你怎么理解了。
int student::jud() ::表示域限定符,用::定义了一个接口(也就是函数),表示这个函数是属于student类的。
同时student类中还定义了一个student()函数,是构造函数,语法规定必须和类名字相同。构造函数的主要作用是类实例化的时候初始化变量,也就是在创建对象的要用到的。

loop: printf("****");
loop:表示的是一个标号,后面用goto loop 跳转到loop:位置执行printf("****");
你完全可以把loop替换成别的东西,比如xunhuan,呵呵

cout 用来控制输出
<<连接各个参数,
cint 用来控制输入
>>连接各个参数。参数和printf ,scanf 是相一致的。

system("***"); 可以调用一些命令行,如cls 清屏 ,pause 暂停 还可以创建进程等等。

好像差不多没了,其他东西基本都是C语言知识了

PS:
其实C++的类和C语言的结构体非常相似,类可以定义函数接口,但是结构体不行
其实我们在结构体中也可以变相的实现定义函数的嘛,比如定义一个函数指针变量。
唯一不同的就是C++的类多了继承的概念,一个类可以继承另一个类的一些属性
而且在继承的过程中还有private,public,protected等权限。

当然C++除了类之外还有STL等一些比较高级的东东值得学习,巧妙的使用他们可以加快项目进度,提升项目效率,C++真的是很好很强大。

#include<iostream>
/*包含头文件iostream,我们使用的cout,cin都是定义在这个文件中的,如果不包含进来的话,那么cout,cin都是未定义的,不能使用,就像我们在使用一个函数之前要声明函数一样,否则编译器根本找不到此符号的意义。iostream是跟输入输出有关的头文件*/
#include<stdlib.h>
/*stdlib.h是原来C语言中的一个头文件,被C++兼容,此头文件中包括了标准的库,比如system命令就在此头文件中定义的*/
#include<iomanip> /*主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等。它是I/O流控制头文件,就像C里面的格式化输出一样*/
using namespace std;
/*
使用名称空间std。要理解名称空间的概念。名称空间的出现就是为了避免重复的名字。例如在一个学校的计算机系有两个叫张三的人,那么仅仅以名字为依据,我们可以找到两个人,到底是谁呢,不知道。但是如果我们说一班张三,和二班张三。我们就确定了这两个人了。名称空间同样也是这样,cout标示符就在名称空间std下面。如果我们不适用using namespace std;的话当我们使用cout的时候,必须std::cout<<这样使用。
*/
class student /*定义一个类,名字叫做student*/
{
char name[30];
int number;
char sex[20];
char contact[30];
char birthday[30];
int judge;
public: /* 下面的成员都是public成员,此类型的成员在外部都可以被访问到。 */
student()
{
judge=0;
}
void set(char *a,int b,char *c,char *d,char *e);
/* 声明了一个函数,具有5个参数 */
void show(); /* 声明函数show */
void Delete();
char *getname(); /* 声明函数getname,返回一个指向char的指针 */
int jud();
};

int student::jud() /*表明此处定义的jud函数是student类的成员函数,不是全局函数*/
{
return judge;/* 返回变量judge的值 */
}

char *student::getname() /* 定义getname函数的实现,返回指向字符的指针(实际上就是学生名字),student::意义同上 */
{
return name;
}
void student::set(char *a,int b,char *c,char *d,char *e) /* 定义set函数,其余同上 */
{
strcpy(name,a);/* 调用strcpy函数,将name指向的字符串拷贝到a处,strcpy函数在头文件<string.h>中定义 */
number=b;/*赋值*/
strcpy(sex,c);/* 拷贝意义同上 */
strcpy(contact,d);
strcpy(birthday,e);
}

void student::show() /* 定义student的成员函数show */
{
cout<<name<<setw(15-strlen(name))<<number<<setw(15)<<sex<<setw(15)<<contact
<<setw(15)<<birthday<<endl; /* 使用cout输出 */
}

void student::Delete()
{
judge=1;
}

int main()
{
int b,choice,count=0,i;/* 定义变量 */
char a[30],c[20],d[30],e[30]; /*定义数组*/
student s[100];
loop: printf("*****************************************************\n");/* loop是一个标号,我们可以使用goto关键字控制程序转向loop标号所在的语句开始运行 */
printf("| |\n");
printf("| 学生学籍管理 |\n");
printf("| ^_^ =_=| |\n");
printf("| 1.信息录入 |\n");
printf("| 2.信息修改 |\n");
printf("| 3.信息删除 |\n");
printf("| 4.退出 |\n");
printf("| |\n");
printf("*****************************************************\n");
printf("请输入序号,按回车确定\n");
cin>>choice;/*输入信息到choice变量*/
switch(choice)
{
case 1:printf("下面开始录入信息:\n");
printf("姓名: \n");
cin>>a; /*输入信息到a变量*/
printf("学号: \n");
cin>>b;
printf("性别: \n");
cin>>c;
printf("联系方式: \n");
cin>>d;
printf("出生日期: \n");
cin>>e;
s[count++].set(a,b,c,d,e);
printf("录入成功\n");
system("pause"); /*时程序暂停,实际上这里调用的是dos命令行,pause命令的功能,system函数就是在头文件<stdlib.h>中声明的*/
system("cls");/*调用命令行的cls命令,清屏*/
goto loop;
break;

这是个c++的源码
#include<iostream> //引入C++的标准输入输出流 从系统目录下开始查找
#include<stdlib.h> //引入stdlib.h stdlib.h里面定义了五种类型、一些宏和通用工具函数。
#include<iomanip> //引入I/O流控制头文件
using namespace std; //这是定义了一个名为std的命名空间类似于Java的package std
class student //定义学生类
{
char name[30];
int number;
char sex[20];
char contact[30];
char birthday[30];
int judge;
public: //表示以下的成员都是public的,以上的没有注明访问方式则按c++默认的private
student()
{
judge=0;
}
void set(char *a,int b,char *c,char *d,char *e); //这是声明了该类有一个方法,不过还没有定义
void show(); //同上
void Delete();
char *getname(); //同上,此函数将返回一个char的指针
int jud(); //同上
};

int student::jud() //双冒号是作用域,前面加有stduent表示此函数是对student的jud()函数做的定义;
{
return judge; //返回student中的judge成员
}

char *student::getname() //对student的getname()函数做的定义;
{
return name;
}
void student::set(char *a,int b,char *c,char *d,char *e) //对student的set()函数做的定义;
{
strcpy(name,a); //复制字符串,把a复制到name中,即设置学生的名字
number=b; //设置学生的学号
strcpy(sex,c); //复制字符串,把c复制到sex中,即设置学生的性别
strcpy(contact,d);
strcpy(birthday,e);
}

void student::show() //对student的show()函数做的定义;
{
cout<<name<<setw(15-strlen(name))<<number<<setw(15)<<sex<<setw(15)<<contact
<<setw(15)<<birthday<<endl; //这句是连着上面那句的,作用为输出学生名字输出(15-学生名字长度)个空格,输出学号,输出15空格....
}

void student::Delete()
{
judge=1;
}

int main()
{
int b,choice,count=0,i; //
char a[30],c[20],d[30],e[30]; //
student s[100]; // 定义一个student的数组
loop: printf("*****************************************************\n"); //loop是一个标识符,表示这个地方叫loop,配合goto loop;使用,执行goto loop;会让你的程序跳到loop这个地方执行,这种是不推荐使用的,因为不符合结构化程序设计,你高兴的话叫fuck都行,当然goto loop;要改为goto fuck;
printf("| |\n");
printf("| 学生学籍管理 |\n");
printf("| ^_^ =_=| |\n");
printf("| 1.信息录入 |\n");
printf("| 2.信息修改 |\n");
printf("| 3.信息删除 |\n");
printf("| 4.退出 |\n");
printf("| |\n");
printf("*****************************************************\n");
printf("请输入序号,按回车确定\n");
cin>>choice; //cin是输入啊 输入一个数字到choice
switch(choice)
{
case 1:printf("下面开始录入信息:\n");
printf("姓名: \n");
cin>>a; //输入一个数字到a
printf("学号: \n");
cin>>b;
printf("性别: \n");
cin>>c;
printf("联系方式: \n");
cin>>d;
printf("出生日期: \n");
cin>>e;
s[count++].set(a,b,c,d,e); //对student数组的第count个元素进行初始化
printf("录入成功\n");
system("pause"); //让程序暂停执行,按任意键继续
system("cls"); //清屏
goto loop; //跳到loop
break; //此处的break可有可无
case 2:cout<<"输入要修改的学生姓名: ";
cin>>a;
for(i=0;i<count;i++) //
if(strcmp(s[i].getname(),a)==0) //一个一个地取学生的姓名出来和a比较,相等的话
{
if(s[i].jud()==1) //如果该学生被删除的话
{
cout<<"所要修改的信息已经删除"<<endl;
system("pause");
system("cls");
goto loop; //跳到loop
}

char X;
cout<<"姓名"<<setw(13)<<"学号"<<setw(15)<<"性别"<<setw(15)<<"联系方式"<<setw(15)
<<setw(15)<<"出生日期"<<endl; //又是一个输出语句,上面有说,不详谈了
s[i].show(); //输出学生的资料
printf("确认修改 Y(y)/N(n):\n");
cin>>X; //输入啊,怎么这些都要加注释啊
if(X=='Y'||X=='y') //
{
printf("下面开始修改信息:\n");
printf("姓名: \n");
cin>>a;
printf("学号: \n");
cin>>b;
printf("性别: \n");
cin>>c;
printf("联系方式: \n");
cin>>d;
printf("出生日期: \n");
cin>>e;
s[i].set(a,b,c,d,e); //对该学生所有成员进行重新设置
printf("修改成功\n");
}
else
{
system("pause");
system("cls");
goto loop;
}
}
printf("没有找到您要修改的学生姓名...\n");
system("pause");
system("cls");
goto loop;
break;
case 3:printf("输入要删除的学生姓名: \n");
cin>>a;
for(i=0;i<count;i++)
if(strcmp(s[i].getname(),a)==0) //一个一个地取学生的姓名出来和a比较,相等的话
{
if(s[i].jud()==1)
{
printf("所要修改的信息已经删除\n");
system("pause");
system("cls");
goto loop;
}
char X;
cout<<"姓名"<<setw(13)<<"学号"<<setw(15)<<"性别"<<setw(15)<<"联系方式"<<setw(15)
<<setw(15)<<"出生日期"<<endl; //又是一个输出语句,上面有说,不详谈了
s[i].show(); //输出学生资料
printf("确认删除 Y(y)/N(n): \n");
cin>>X;
if(X=='Y'||X=='y')
{
s[i].Delete(); //删除该对象
printf("删除成功...\n");
system("pause");
system("cls");
goto loop;
}
else
{
system("pause");
system("cls");
goto loop;
}
}
printf("没有找到您要删除的学生姓名...\n");
system("pause");
system("cls");
goto loop;
break;
case 4:printf("感谢使用,再见! ^_^ \n");
}
return 0;

好简单,这个不值200.50吧

完全不懂程序么???怎么//打的地方让我感觉是考试在考基础知识题?

这个基础的过分了…………


谁来帮我翻译一下<<进学解>>全文
不见治,不能表现其治政之才。“头童齿豁”,也是真实情况的写照。韩愈早衰,三十五岁时已自叹齿落发白,作《进学解》时更已发秃力羸,只剩下十来个牙齿在那里摇摇欲坠了。仕途失意和体力衰退,使他愤慨而悲哀。生徒的这一大段话,其实正是他“不平而鸣”,借以一吐其胸中块垒而已。第三段是先生回答生徒的话。

哪位大神能帮我把这个程序注释一下,我只知道程序运行结果!谢谢了!_百度...
这些是各种声明和函数的声明的说明。每一条注释是一个类别,下边写的是这个类别的东西,就是为了规整的。就比如,我现在要加一条宏#define OUTPUT printf 我就可以把它加到Private macro的下边,如下:\/* Private typedef ---*\/ typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus;\/* Privat...

java ~谁能帮我把这段代码写下注释~~
\/\/这里的run其实是实现一个帧处理,也就是每1000ms左右为一帧,每帧进行一次屏幕重绘,实现动画效果。\/\/动画是怎么产生的,其实是人眼的视觉暂留机制导致的,不明白可以先搜一下相关问题。public void run(){ \/\/while(clockThread!=null)while(true) 线程启动后一直循环 { repaint(); \/\/进行屏幕...

帮我翻译一下这段文言文!
老大说:‘仁义使我爱惜自己的生命,而把名声放在生命之后’。老二说:‘仁义使我为了名声不惜牺牲自己的生命。’老三说:‘仁义使我的生命和名声都能够保全。’这三兄弟的回答各不相同甚至是相反的,而同出自儒家,您认为他们三兄弟到底谁是正确谁是错误的呢?”杨子回答说:“有一个人住在河边上,他...

...看一下这段代码是什么意思,最好每句能帮我注释下,感激不尽!_百度知 ...
DataSet ds = new DataSet();\/\/这是一个存放表的!~你可以想象成里面包含很多很多的表。。da.Fill(ds);\/\/把数据从数据库中,通过SqlDataAdapter这个适配器(桥梁或者管道)把数据放入到DataSet这个容器中(注意DataSet可以放很多表!)return ds;} catch { \/\/Console.WriteLine("SqlException:{0}",...

谁能帮忙注释一下这个代码每一行是什么意思啊,关于入门java的_百度知 ...
public class SnakeEyes \/\/我没学过JAVA 但学C 凑合的解释给你听吧,一看就是PUBLIC全局类 { public static void main (String[]args)\/\/ static 静态修饰,可以不用实列化调用 内有一参数为字符串型 { \/ final int ROLLS = 500;\/\/ final 定义后锁的意思 ROLLS 不能修改值 int num1,num2,...

请帮我写一下这段flash代码的注释.
这两行是令复制出来的星星副本的横纵坐标保持与主时间轴的鼠标坐标一致(就是跟随)3、_root.i++;if (_root.i == 50) { _root.i = 1;} 这四行是副本的索引编号,i是递加的,但当i值等于50时,令i值为1 意思就是不会复制超过50个星星 需要学习AS1或AS2代码,可以联系:散要二八要五散...

谁能帮我把《逍遥游》的最后一段用拼音注释一下!
故夫知效一官(50)、行比一乡(51)、德合一君、而征一国者(52),其自视也,亦若此矣。而宋荣子犹然笑之(53)。且举世誉之而不加劝(54),举世非之而不加沮(55),定乎内外之分(56),辩乎荣辱之境(57),斯已矣。彼其于世,未数数然也(58)。虽然,犹有未树也。夫列子御风而行(59),...

...麻烦高手帮我把这段程序后面注释一下,我看不太懂。谢谢。
\/\/每一行从第一列开始遍历 for(i=1;i<=n;i++)\/\/第k行第i列可以放皇后时,则立马进入下一行,每一行只能一个皇后 if(Place(i,k)==1){ \/\/标记 q[k]=i;\/\/进入下一行 Queens(k+1,n);} } } int Place(int i,int k) \/\/这个函数就是判定那个位置能不能放皇后啦 { int j=1;...

谁能帮我查一下<<迎春乐>>的注释
首先,在家庭生活和夫妇感情上,一方面,她遵从那个时代社会的秩序和习俗,作为侧室她十分清楚自己地位,她有着极高的涵养、慈慧仁厚的宅心,她能上奉姑嫜,下恤奴婢,能与奕绘的正室妙华夫人相处融恰,真情相待。她气质醇雅高贵,能营造宁静安详和谐的家庭生活气氛,并享受家庭的快乐。另一方面,在夫妇感情生活中,她有不同...

沿滩区13134477721: 谁能帮我写一下这段c语言代码的注释,非常感谢 -
胥封依他: #include <stdlib.h> #include <stdio.h> #include <time.h> void sert(int a[]) //对数组从大到小排序的函数 { int i, j, tmp; for (i = 0; i < 100; ++i) //冒泡法排序,虽正确但用的不好 for (j = 0; j < 99; ++j) if (a[j] < a[j+1]) { tmp = a[j+1]; a[j+1] = a[j]; a[j] = tmp; } } ...

沿滩区13134477721: 谁能帮注释一下这段C程序代码
胥封依他: 初学和最好办法是自己思考才能有所获,实在不懂再问,程序段和分析步骤: 先确定每一步的运算,不用管为什么这样运算.再反过来想别人为什么要这样算? 比如第一个你看不懂的关键可能是b = len >> 1; 但是你如果知道: 除2 = 右移1位 ...

沿滩区13134477721: c语言 帮我解释一下这段程序啊(越详细越好)!!!谢谢 -
胥封依他: 这段程序的作用是输出1到500以内的质数 main()//主函数 { int i,j; for(i=1;i<=500;i++)//分别判断从1到500的数 { for(j=2;j<i;j++)//看i能否被小于它本身且大于1的数整除 { if(i%j==0) break;//如果能整除,说明不是质数,就直接跳出 } if(j>=i) printf("%d ",i);//如果i是质数,就不能被整除,上面的循环会进行到j==i而跳出循环,这里就要输出i,如果i不是质数,那上面的循环就会早早跳出,就会j<i,那么就不会输出i了 } getch();//暂停一个给你看结果 }

沿滩区13134477721: 请帮我解释一下这段程序(c语言) -
胥封依他: //fun(int i)函数,主要的作用就是不停调用自身来将整数以二进制形式输出void fun( int i ){if (i>1) //判断给定参数i是否大于1,当大于1时继续调用函数本身 fun(i/2) ; //调用fun函数,参数是i/2取整数部分 printf("%d", i%2); //当i<=1的时候,也就是i取0或者1时输出i的值}建议你画个调用图,你就会明白这段程序怎么运行的了,

沿滩区13134477721: 谁能看懂这段C语言代码帮忙写一下注释 -
胥封依他: #include "windows.h"#include <odbcinst.h> #include <sql.h> #include <sqlext.h> #include <iostream>#include "database.h"using namespace std;void ConnectDatabase(){ BOOL ret; char driver[80] = ""; char dsn[20] = ""; char database[...

沿滩区13134477721: 您能帮我注释下这个C语言程序!!!!!!!!急用,等着答辩!!!!!!谢谢啊!!!!!!!!!!!!!!!!由于字数,分成两个问题 -
胥封依他: else if(k[i-4][j-20]!=1)/*将非1位置打印内容*/ { gotoxy(j,i); cprintf("%d",k[i-4][j-20]); } textcolor(YELLOW);/*设置当前字体为黄色*/ i=5; j=21; gotoxy(j,i); cprintf("\1");/*21列第5列打印一个笑脸*/ gotoxy(33,5);/*33列第5行打印一个“7”*/ cprintf("...

沿滩区13134477721: 谁能解释下这段C程序
胥封依他: 参数传递的是指针,也就是地址,在函数中修改的*p1,由于p1保存的是传递过来的a的地址,这里修改*p1当然修改的是a的值了. 你可以这样理解指针,指针就像一个门牌号. 加入主函数就是你,你要打扫a这个房间,你把a的门牌号吗告诉清洁工(函数),清洁工按照这个号码去打扫卫生,回来你就发现a房间已经打扫过了.但是这个过程你并没有直接把房间交给他,只是给了个门牌号吗.

沿滩区13134477721: 帮我解释一下这段C语言程序
胥封依他:int i, j, k; char buf[80]; /*定义一个80个长度的数组*/ for (i=0; i<maxline; i++) /*执行外层循环,如果i小于最大长度则循环一次i自增*/ { j = strlen(xx[i])-1;/*j等于xx数组的行数长度-1*/ while (xx[i][j]!='o' && j>=0)/*如果数组中第i-1行,j-1列的元素不等...

沿滩区13134477721: 请帮忙把这段C语言程序做下注释 -
胥封依他: 引用 stdio.h(C语言标准库)定义新名字 struct Node { 结构体 整型 index; 指向它自己的指针 *next; }类型新名字 lnode,新名字指针Linklist;没有返回值函数 good(参数整形 all_num,整形 pass_num,整形 step_num) ........你发的乱麻麻的没眼看,按格式发一下行吗?这个看起来太累了.

沿滩区13134477721: 谁能帮我解释一下这段c语言
胥封依他: if(a<b) { /* 如果a<b,就交换它们的值,用一个中间变量d来交换它们. 过程是这样的:1,把a的值保存在d里面;2,把b保存在a里,这时a和b的值变成一样的了; 3,在把d的值给b,这样,a和b的值就互换了. 后面的两个,也是一样的交换,这样下来,三个数就是a>b>c了,因为都换了, */ d=a; a=b; b=d; } if(a<c) { d=a;/*??*/ a=c;/*??*/ c=d;/*??*/ } if(b<c) { d=b;/*??*/ b=c;/*??*/ c=d;/*??*/

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网