您的位置:

读解c语言,看懂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:带*的是我感觉有问题的地方)