C语言中,while (*s1++ == *s2++)的意思是什么?

问题描述:

C语言中,while (*s1++ == *s2++)的意思是什么?
1个回答 分类:综合 2014-09-20

问题解答:

我来补答
s1和s2是两个指针,后面的++代表每次循环s1和s2都+1,前面的*代表指针指向的值.
例如s1是整数数组{1,3,5,7}的指针,s2是数组{2,4,6,8}的指针
第一次循环是while(1 == 2)
第二次是while(3 == 4)(当然这个例子不会到第二次循环,第一次循环条件就没通过)
依次类推.
再问: char *s1="abcd",*s2="abbb"; while (*s1++ == *s2++); printf("%d#",*s1 - *s2); 求最后的值呃 。。
再答: 第一次while(a==a) 第二次while(b==b) 第三次while(c==b)不通过,此时s1已经指向d,s2指向b,所以最后*s1-*s2 = d-b=2
再问: 可以把整个程序过程讲一下吗? 谢啦!
 
 
展开全文阅读
剩余:2000
上一页:bfds
下一页:知道的请解答