万恶的指针(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)); }