万恶的指针(1)...
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
//这个程序主要功能是输入 如 "huieoqjalf" 连续的字母排序。
void sort(char *,int);
int input_sum = 0;
char *p = (char *)malloc(sizeof(char) * 100);
do
{
scanf ("%s",p);
input_sum = strlen(p);
}
while (getchar() != '\n');
realloc(p,input_sum);
sort (p,input_sum);
return 0;
}
void sort(char *p,int input_sum)
{
int i,j;
char *temp;
for(j = 0;j < input_sum;j++)
{
for (i = 0;i < input_sum - j - 1;i++)
if (*(p+i) > *(p+i+1))
{
temp = *(p + i); //同类型的指针赋值
*(p + i) = *(p + i + 1); //42,44行有提醒。求解。
/* /main.c||In function ‘sort’:|
/main.c|42|warning: assignment makes pointer from integer without a cast [enabled by default]| 分配整数赋给指针,未作类型转换 ,相同类型还转?怎么转。。。
/main.c|44|warning: assignment makes integer from pointer without a cast [enabled by default]| 指针赋给整数,未作类型转换?
/main.c||In function ‘main’:|
/main.c|22|warning: ignoring return value of ‘realloc’, declared with attribute warn_unused_result [-Wunused-result]| 这句也不理解
||=== Build finished: 0 errors, 3 warnings ===|
*/
*(p+i+1) = temp; //这个程序还有什么可以改的地方吗,请指教
}
}
for (i = 0;i < input_sum;i++)
printf ("%c",*(p+i));
}









好吧,是万恶的我
可是那样写不报错