C语言字符串问题,初学者求详细解答。
a[i++]用在这里是什么意思,为什么要这些写,然后这个do...while的循环怎么去理解?...
a[i++]用在这里是什么意思,为什么要这些写,然后这个do...while的循环怎么去理解?
展开
展开全部
首先,要先知道数组的一些基础知识,比如这段程序中的a[20],是一个长度为20字节的字符数组,a[0]就是这个数组中存放的第一个字符,a[1]是第二个,a[ i ]是第i+1个。
这个do...while做的事情就是,从a数组的第一个字符开始,到最后一个字符结束,判断各个字符是否是小写字母,如果是小写字母,就把它变为相应的大写字母。
i一开始定义为0,那么第一次循环,a[i]就是a[0],循环内操作结束后,判断a[0]的下一个字符是否等于\0,如果是就跳出循环,如果不是就继续,a[i++]相当于a[i=i+1],经过这一步,i变为1,再次进入循环,对a[1]进行循环内操作。
这个do...while做的事情就是,从a数组的第一个字符开始,到最后一个字符结束,判断各个字符是否是小写字母,如果是小写字母,就把它变为相应的大写字母。
i一开始定义为0,那么第一次循环,a[i]就是a[0],循环内操作结束后,判断a[0]的下一个字符是否等于\0,如果是就跳出循环,如果不是就继续,a[i++]相当于a[i=i+1],经过这一步,i变为1,再次进入循环,对a[1]进行循环内操作。
展开全部
数组a存放的是源字符串,也就是用户输入的,待处理的串。b用于存放转换后的xf。转换时,用whilde循环对a的每一个元素依次作出判断,结果存放在b[i]。
a[i++]是两个运算的组合,一是a[i],二是i++,这么写比较简洁。所以源代码中用a[i] != '\0'判断没有到达字符串尾后,再i++以处理下一个字符。如果a[i]已经到了串尾,这个while循环也就结束了,于是继续后面的printf。
a[i++]是两个运算的组合,一是a[i],二是i++,这么写比较简洁。所以源代码中用a[i] != '\0'判断没有到达字符串尾后,再i++以处理下一个字符。如果a[i]已经到了串尾,这个while循环也就结束了,于是继续后面的printf。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a[i++]是利用i++先取值后自加的特性,把循环变量i的自加集成到一个语句里面
拆开看就是 a[i] != '\0'; i=i+1; 这两条语句。
这个循环就是把a 里面没有小写字母转换成大写字母。
拆开看就是 a[i] != '\0'; i=i+1; 这两条语句。
这个循环就是把a 里面没有小写字母转换成大写字母。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言字符串的学习,输入指定字符串,并且计算字符串的位数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询