程序改好了,自己运行去吧
#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)试分析下列程序,写出注释并写出程序功能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)