c语言问题?

fun循环看不懂,能不能来个大佬详解

第1个回答  2020-08-30
调用fun("97531",'6')的过程:
a指向'\0'时不满足,a指向'\0'后面的一个字符。
此时*(a-1)就是'\0',满足<'6'
原'\0'后面的一个字符被*(a--)=*(a-1)修改为'\0',然后a指向'1'的后一个位置(原'\0')。
如此这般,因1、3、5都符合同样条件,所以它们各自后移一位,直到*(a-1)就是'7',不满足<'6'。
再执行*(a--)=b;即将'7'后面的一个的字符修改为'6'
返回后,由puts(s)执行输出为:
976531
=========================
第一个while循环*(a++)
相当于以下两行:
while(*a!='\0')a++; //先将指针a指向串尾符
a++; //再后移一位
还有*(a--)=*(a-1)相当于以下两行:
*a=*(a-1); //先把a所指前一个字符后移一位到a指向的位置
a--; //然后a再前移一位
第2个回答  2020-08-29
第一个循环,找到字符串结束的位置
第二个循环,将字符串中小于b的字符向后移动一位
退出位置是第一个比b大的
然后把b插入到这个位置
也就是保证降序将b插入

顺便说一下,这个代码是不严谨的,对字符串操作越界了本回答被网友采纳

c语言常见问题有哪些
1、书写标识符时,忽略了大小写字母的区别。2、忽略了变量的类型,进行了不合法的运算。3、将字符常量与字符串常量混淆。4、忽略了等号与双等号的区别。5、忘记加分号。6、输入变量时忘记加地址运算符。7、输入数据的方式与要求不符。8、输入字符的格式与要求不一致。9、输入输出的数据类型与所用格式...

C语言的问题!
5,最后一步是,当程序以混合语言编写的程序链接时,在FORTRAN库之前指定C库。重新解决了秋天的飞行问题。

C语言的运行出现不了的问题是什么问题??
环境问题:代码在不同的操作系统、编译器或硬件平台上可能存在差异,导致代码无法正常运行。可以检查编译器和操作系统的兼容性,或在特定的环境中运行代码。逻辑问题:代码逻辑存在问题,导致代码无法正确执行。可以检查代码逻辑是否正确,是否存在死循环、递归深度过大等问题。综上,C语言代码运行不出现象可能...

c语言常见问题有哪些?
c;c="a";在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。C规定以“\\”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:‘a'和‘\\',而把它赋给一个字符变量是不行的。4.忽略了“=”与...

c语言能解决哪些问题
一、系统开发问题 C语言首先是一种通用编程语言,它可以用于开发各种类型的系统软件和应用程序。例如,操作系统、编译器、驱动等核心组件大多使用C语言开发,因其具有直接访问内存、进行复杂运算和进行底层设备操作的能力。此外,C语言还常被用于开发嵌入式系统,如智能家居控制、工业控制等。二、算法和数据...

计算机程序c语言面试常见问题
c语言作为计算机程序设计语言,是考察软件工程师应聘者技术能力的关键。计算机程序c语言面试常见问题,我们来看看。c语言 面试题 精选(笔试)单选题部分 1、C语言程序的基本单位是___A.语句 B.函数 C.程序行 D.字符 答案:B 2、C语言程序由()组成 A.子程序 B.过程 C.函数 D.主程序段程序 ...

求c语言一些常见问题,
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3) a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在“...

c语言面试经常问到的问题有哪些?
c语言面试经常问到的问题有:1、C语言的主要特征是什么?C是一种过程语言。C语言的主要功能包括对内存的低级访问,简单的关键字集和简洁的样式。这些功能使其适用于诸如操作系统或编译器开发之类的系统编程。2、i ++和++i有什么区别?1)表达式“i ++”返回旧值,然后递增i。表达式++i递增该值...

C语言问题?
答案是B。1,因为,*p++先执行*p,就是取出a[0]的值而已,就是10,没有实际用。可以写成p++;2,再执行p++ ,这是p指向a[1]的地址。3,*p +=1, 就是指a[1]的值加1,即11+1=12。

C语言基本问题有哪些?
一、C语言规定总是从main()开始执行的(这个函数也叫“主函数”)。因此,你发来的题目中的(1、6、8)叙述都是错误的,都应该选择F。二、第2题中,C语言对其数据在内存中所占用的实际字节数,随着程序中声明的数据类型以及数据的多少而变化,C语言本身并没有明确规定。这题应该选F。三、第3题...

相似回答