33,311
社区成员
发帖
与我相关
我的任务
分享
if (array=(float*)calloc(9999,sizeof(float))&&p=(float*)malloc(sizeof(float))) ;
else printf("fail!");
float *p=NULL;
float *array=NULL;//指针无值赋NULL,不然是野指针
array=(float*)calloc(9999,sizeof(float));
p=(float*)malloc(sizeof(float)) ;
if(array==NULL||p==NULL){
printf("fail");
}
else {
gets(array);
n=strlen(array);//不要;的?
for(i=0;i<n;i++){
for(j=n-i-1;j>0;j--)
{
if (array[j]>array[j-1])
{
*p=array[j];
array[j]=array[j-1];
array[j-1]=*p;
}
}
}
for(i=0;i<n;i++){
printf("%.2f",array[i]);
}
free(array);
free(p);
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
//void main()
int main()
{
int i,j,n;
float *p;
float *array;
/*
if (array=(float*)calloc(9999,sizeof(float))&&p=(float*)malloc(sizeof(float)))
;
else
printf("fail!"); //fail就完了?后面使用array和p那不一样有问题吗?
*/
array = (float *)calloc(999, sizeof(float));
if (!array)
return -1;
p = (float *)malloc(sizeof(float));
if (!p)
return -1;
gets(array); //对float缓存使用gets,我感觉是不是走错门了?程序还能执行吗?
n=strlen(array)
for(i=0;i<n;i++)
for(j=n-i-1;j>0;j--)
{
if (array[j]>array[j-1])
{
*p=array[j];
array[j]=array[j-1];
array[j-1]=*p;
}
}
for(i=0;i<n;i++)
printf("%.2f",array[i]);
free(array);
free(p);
}