问题:编写一段程序,像右边这样根据输入的整数,循环显示0123456789,显示的位数和输入的整数值相同。
网上的程序是:
#include <stdio.h>
int main(void)
{
int i,j,n;
j=1;
printf("请输入一个整数:");
scanf("%d",&n);
for(i=0;i<n;i++) {
printf("%d",j);
j++;
if(j>9)
j-=10;
}
printf("\n");
return 0;
一开始本渣渣写的程序以为很精简,可是功夫没到家,于是等运行以下代码发现自己在c语言中的学习并不是那么扎实。
以下show my code:
#include<stdio.h>
int main(int argc, char *argv[])
{
int t,c;
scanf("%d",&c);
for (t=1;t<c;++t)
printf("%d\n",t%10);
printf("%d",t);
return 0;
}
123456789012345678901234
25
发现运行结果最后面少了5,但是最后的结果也是t=25
最后发现原来原来只要在for语句中第二个表达式内加入=就可以了。`for (t=1;t<=c;++t)`
现在我们重新看一下程序,因为在判断完t=25时已经跳出循环语句,并没有再循环%t,
但是t的值也变成了26.