实际上这个可以解释为让这个数组所有元素都是0而已。
但是注意我刚刚特意拆开解释的原因是:
char str[256] = {'a'}并不是256个元素全部是 'a' ,而是第一个元素是 'a' 剩下的全部是 0 (注意这个也还是没有单引号,没有单引号的 0 等同于 '\0')
过程:根据题意,就是要求先输出个位数,然后是十位数,再是百位数、千位数等等。
思路:通过不断的除以10求余数可分别得到个位数,十位数,百位数,千位数等等。
源程序:
说明:
执行过程如下:
第1步:先求解表达式1,此题不用求解直接是1,所以程序往下执行。
第2步:求解表达式2,n初值是256,其值为真(非0),则执行for语句中指定的内嵌语句 printf("%d",n%10) ,然后执行下面第3步;若其值为假(0),则结束循环,转到第5步。
第3步:求解表达式3,即n=n/10。
第4步:转回上面第2步继续执行。
第5步:循环结束。
程序执行过程如图所示:
运行过程说明
程序运行结果:
当然,如果想输入负整数-256:
增加负整数代码
原理同正整数部分,程序运行结果:
程序运行结果
当然还可以增加输入是否正确的判断部分。