1.在嵌套循环中i=0不能省略,否则出现问题
int a[8]= {3,232,556,223,89,8,90,11};
int i=0, j=0, temp;
for(i=0; i < sizeof(a)/sizeof(a[0]); ++i)
{
printf("a[%d]=%d ", i, a[i]);
}
printf("\n");
for(i=0; i < sizeof(a)/sizeof(a[0])-1; ++i)
{
for(j=0; j < sizeof(a)/sizeof(a[0])-1-i; ++j)//冒泡中j=0省略了,由于j定义在
{ //for外,内层循环只执行一次就不满足循环条件了排序失败
if(a[j] < a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
2.指针地址可用%p输出,不能用%x输出,类型不匹配
3.定义变量时要初始化,否则可能出现段错误core dumped
int res[128], i;
printf("please input a octal num to be transfered and base: \n");
scanf("%d, %d", &num_org, &base);
do
{
res[i++] = num_org % base; //由于i未进行初始化,i是很大值,直接越界跑崩了
num_org /= base;
}while(num_org!=0);
4.printf右到左计算,左到右输出。