youngwifi连不了:C语言编程中警告的理解

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 19:19:27
在编写程序(尤其是在编写有关数组的问题)时会出现“Non-portable pointer assignment”的警告。我经常遇到“不可移动的指针赋值”这样的警告,但我找了好长时间也没发现程序在哪儿出错。怎样理解该警告?能否举一些例子,请各位高手帮忙。
原程序如下(警告发生在34行,注意:其它语句不能修改,只能修改fun函数中的语句):
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
int fun(char *s, int num)
{
char t,*p,a[6];
int i,j=num-1;
p=&s[1];
for(i=1;i<j;i++)
{for(i=0;i<j;i++)
{t=*p;
if(*p<t) t=*p;
p++;
}
a[j]=t; j--;
}
for(i=1;i<num-1;i++)
for(j=6;j>1;j++)
s[i]=a[j];
}
main()
{
FILE *wf;
char s[10];

char b[10]="BdsihAd";
clrscr();
printf("输入7个字符的字符串:");
gets(s);
fun(s,7);
printf("\n%s",s);
/******************************/
wf=fopen("out.dat","w");
b[10]="BdsihAd";
fun(b,7);
fprintf(wf,"%s",b);
fclose(wf);
/*****************************/
}

请问如何避免这样的警告?

在C语言中只要把所有的Error全部改掉就行了,其他的Warning都可以不管,这些都是一些对你的提醒,对程序没啥关系!

你贴的程序34行在main函数里了。
其实warning可以不管,只要没error就行了。
写程序难免会出点儿warning。

你是不是把数组名当成指针用了,它可以当指针用,但是不能对它赋值。

我也不管warning的,我看到的一般是,提醒你有定义了却最后没有用到的变量

不会吧??
warning不管???
没听说过,我也不敢

楼主能贴下代码吗??