小白第三贴!求解
为毛每次输入都是错误?
#include <stdio.h>
#include <math.h>
int main()
{
int array[10];
int counter_i = 0;
int counter_j = 0;
int *point = NULL;
printf("input 10 numbers:");
point = array;
for(counter_i = 0 ; counter_i < 10 ; counter_i++)
{
scanf("%d",point+counter_i);
}
for(counter_i = 0 ; counter_i < 10 ; counter_i++)
{
for(counter_j = 0 ; counter_j < 10 - counter_i ; counter_j++)
{
if( fabs(*(point+counter_i)) > fabs(*(point+counter_j)) )
{
*(point+counter_i) += *(point+counter_j);
*(point+counter_j) = *(point+counter_i) - *(point+counter_j);
*(point+counter_i) = *(point+counter_i) - *(point+counter_j);
}
}
}
for(counter_i = 0 ; counter_i < 10 ; counter_i++)
{
scanf("%d",*(point+counter_i));
}
return 0;
}
for(counter_i = 0 ; counter_i < 10 ; counter_i++)
{
scanf("%d",*(point+counter_i));//不要*,用地址
}
int *point = NULL;
printf("input 10 numbers:");
point = array;
for(counter_i = 0 ; counter_i < 10 ; counter_i++)
{
scanf("%d",point+counter_i);//你这里的地址是0x00000,是系统地址
// 不能用的,而且后面地址不能乱占用
}
int *point = (int*)malloc(sizeof(int)*10);
// 自己分配最好
printf("input 10 numbers:");
point = array;
for(counter_i = 0 ; counter_i < 10 ; counter_i++)
{
scanf("%d",point+counter_i)
#include <stdio.h>
#include <math.h>
using namespace std;
int main()
{
int array[10];
int counter_i = 0;
int counter_j = 0;
int *point = NULL;
printf("input 10 numbers:");
point = array;
for(counter_i = 0 ; counter_i < 10 ; counter_i++)
{
scanf("%d",point+counter_i);
}
for(counter_i = 0 ; counter_i < 10 ; counter_i++)
{
for(counter_j = 0 ; counter_j < 10 - counter_i ; counter_j++)
{
if( abs(*(point+counter_i)) > abs(*(point+counter_j)) )
{
*(point+counter_i) += *(point+counter_j);
*(point+counter_j) = *(point+counter_i) - *(point+counter_j);
*(point+counter_i) = *(point+counter_i) - *(point+counter_j);
}
}
}
point=array; //应当指向某个空闲地址空间的首地址,再此,我将array设为空闲地址空间
for(counter_i = 0 ; counter_i < 10 ; counter_i++)
{
scanf("%d",(point+counter_i));//后面是个地址,不是解析地址
}
return 0;
}