6. 写出下面程序的功能。 func (int n) { int i,j,k; i=n100; j=n10-i*10 ; k=n%10 ; if (i*100+j*

6. 写出下面程序的功能。 func (int n) { int i,j,k; i=n100; j=n10-i*10 ; k=n%10 ; if (i*100+j*,第1张

程序改好了,自己运行去吧

#include <stdioh>

func (int n)

{ int i,j,k;

i=n/100; j=n/10-i10 ; k=n%10 ;

if( (i100+j10+k) == iii+jjj+kkk) return n ; //这行少个(

return 0;

}

main ( )

{

int n,k ;

for (n=100; n<1000 ; n++)

if (k=func(n)) printf("%d",k) ; //因为没有回车,四个数连在一起了

}

这应该是一个函数,函数的形参是两个字符型指针,现在来分解它的步骤;

这个函数里面有两个循环。

第一个循环。

whlie(s1!='\0')

s1++;

'\0'在程序里面代表,1个字符串的结尾,所以这一句的作用,是把一个指针,指向的位置移动到字符串的最后一位,

接下来看第二个循环

s2!='\0'

s1=s2

s1++

s2++

他所表达的意思就是,把s2指向的字符串,里面的数据,取出来存放到,s1指向的内存地址中,由于这里21纸箱的内存已经到了,它本身的尾部'\0',这个时候存入值会盖住`\0`,于是两个指针同时往后偏移,经过这个循环,会吧,指针s2指向的字符串,复制到s1指向的字符串尾部(解释一下这里是,它尾部的内存地址),最后循环结束,加入'\0',

由于之前的'\0'被覆盖住,而字符串的储存,是储存在内存中的一个连续空间,并且以'\0'结尾?

所以这个函数的作用是把两个字符串合并到一起,形成一个新的字符串,

MOV BX, OFFSET BLOCK ;//将BLOCK的地址值(相对值)放入BX寄存器中 MOV AX, [BX] ;//将BX地址中的数放入AX INC BX ;//将BX地址加1 MOV CX, 99 ;//将计数值99存到CX AGAIN: CMP AX, [BX] ;//比较BX地址值的数与AX中值得大小 JNC NEXT ;//当AX与[BX]两个数值相减时未产生进位或者借位则跳转到NEXT分支 MOV AX, [BX] ;//将BX地址值中的数放到AX中去 NEXT: INC BX ;//BX地址值加1 DEC CX ;//计数值CX-1 JNZ AGAIN ;//当CX不等于0时跳转到AGAIN分支 MOV MAX, AX ;//将最大值放到MAX中 HLT//暂停 程序功能就是比较数值的大小,将最大值放到MAX中去; 程序运行结果:MAX=最大数

以上就是关于6. 写出下面程序的功能。 func (int n) { int i,j,k; i=n/100; j=n/10-i*10 ; k=n%10 ; if (i*100+j*全部的内容,包括:6. 写出下面程序的功能。 func (int n) { int i,j,k; i=n/100; j=n/10-i*10 ; k=n%10 ; if (i*100+j*、4.写出下面程序的功能 void ss(char *s1,char *s2) {while(*s1、(3)试分析下列程序,写出注释并写出程序功能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9324814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存