一道C语言的题,求大神 为什么这个程序第12行和第13行顺序交换后会出错?

#include<stdio.h>
#include<string.h>
void fun(char *p,int *num)
{
for(;*p!='\0';p++)
if(*p>='0'&&*p<='9')
*num=(*num*10)+(*p-48);
}
int main()
{
char s[80];
int num=0; …………12
gets(s); …………13
fun(s,&num);
printf("%ld\n",num);
return 0;
}

第1个回答  2016-12-23
定义变量一定要放在前面,不然编译不通过。
第2个回答  2016-12-22
没什么问题啊,你的输入时什么,结果是什么
第3个回答  2016-12-23
编译器bug
相似回答