本文目录一览:
- 1、解读C语言程序代码,
- 2、程序解读C语言
- 3、c语言代码解读
解读C语言程序代码,
在C语言中,程序的执行都是有严格顺序的,这个语句就是从左往右执行(赋值语句是从右往左执行的),先把x的值赋给t,然后再把y的值赋给x,这样t就等于原来x的值,而x等于原来y的值,最后把t的值赋给y,结果就是x等于原来y的值,y等于原来x的值,x,y的值就交换了
程序解读C语言
sort()是个排序函数,作用是对传入的数组a进行排序,数组a是个整型数组,共有n个元素(下标是0~n-1)
这个函数使用了选择排序算法,即逐个从数组中选出第c大的数,并将其放在第c位
for(i=0;in-1;i++) //外循环,用于找第i大的数
{k=i;//标记出现在的i值
for(j=i+1;jn;j++)
if(a[j]a[k])k=j;//从i+1到n-1逐个与a[i]对比,如果a[j]a[k],就把j值重新赋予k,这个对比过程重复进行n-i次
if(k!=i) //如果发生了对k重新赋值的操作(即找到了比a[i]大的数字),那么k!=i,所以要交换a[i]和a[k]和值,如果k值未变,则说明没有比a[i]大的值,所以此次不进行交换操作,直接进行下一次循环。
{t=a[i];a[i]=a[k];a[k]=t;}//交换a[i]与a[k]的值
}
*********************************************
这并不是冒泡排序,而是选择排序,希望某些网友不要误导别人!谢谢!
c语言代码解读
你有些地方没有截得好
#include stdio.h
void main()
{
char *a;//这边差个变量,定义字符类型的指针a//*你少了一个字符型变量,//指针无法用于输入
int i,j;//定义整形变量a
for(i=0;i=5;i++)//for循环将i赋值为0,i在=5时,每次循环之后i加1
{
gets(a);//输入字符型指针a
for(j=0;j=1000;j++)//for循环将j赋值为0,j在=1000时,每次循///环之后i加1
if(a[j]=='\0')//当a[j]的字符数组到最后时(ps:在字符型数组///在结尾时都会自动添加'\0')
printf("呵呵\n");//输出呵呵并换行
for(j=0;j1000;j++)//for循环将j赋值为0,j在=1000时,每次循环//之后i加1
a[j]=2;//当a[j]中当字符中有2的时候//*感觉这地方有些不合理,///怎么用数字来判断
}
printf("去洗澡了,88");//输出去洗澡了,88
}
敢觉你有些地方写错了,不知道是不是没有上面的问题,你自己看一下,不会的可以私聊我,求采纳,谢谢啊!(ps:带*的是我感觉有问题的地方)