首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

小白第三贴!求解,该如何解决

2013-08-09 
小白第三贴!求解为毛每次输入都是错误?#include stdio.h#include math.hint main(){int array[10]int

小白第三贴!求解
为毛每次输入都是错误?


#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));//不要*,用地址
    }   

[解决办法]
第一个scanf就是正确的. 第二个错了.按第一个写就可以了.
[解决办法]

 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;
}

热点排行
Bad Request.