请解析此程序,给出每个语句的注解

来源:百度知道 编辑:UC知道 时间:2024/09/28 15:13:14
#include<stdio.h>
#include<string.h>
main()
{
char b1[8]="abcdefg",b2[8],*pb=b1+3;
while(--pb>=b1) strcpy(b2,pb);
printf("%d\n",strlen(b2));
}

把stdio.h个文件的内容放进来
再把string.h个文件的内容放进来
程序要开始啦:
声明存放字符的数组b1其共有8个数它们分别是abcdefg,还有一个数组b2同样可以放8个数,再来个指针pb同时把b1数组的第四个字符d的地址入进去。

下边将不断循环直到条件不成立:指针pb回退1指向b1中的c,这c比a大或者相等吗(这就是条件),显然是大,那把c及后面的字符放到b2里(b2里面如果有东西将被替代)。指针pb再回退1指向b1中的b,再和a比...

总算比完了(pb指向的数终于小于a了),最后输出b2中有多少个数了。
程序执行完毕!

#include<stdio.h>
#include<string.h>
main()
{
char b1[8]="abcdefg",b2[8],*pb=b1+3; //将pb指向了d
while(--pb>=b1) strcpy(b2,pb); //循环3次,第一次将cdefg给b2,第二次将bcdefg给b2,第三次将abcdefg给b2
printf("%d\n",strlen(b2)); //输出b2的长度,结果为7
}