c语言调用函数时输出个0,c语言中输出函数是

求c语言大神,为什么输入什么字符串调用函数都是返回0????

#include stdio.h

专注于为中小企业提供成都做网站、成都网站制作、成都外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业天元免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

#include string.h

#include stdlib.h

int palin(char *str)

{

int flag=1;//先假设是回文字符串

char *head,*tail;

int len=strlen(str);

head=str;

tail=str+(len-1);//分别指向字符串首部和尾部

while(head  tail)

{

if(*head != *tail)

{

flag=0;

break;

}

head++;tail--;

}

return flag;

}

int main()

{

//int palin(char *str);

char*ap;

int n;

printf("please input the sizeof of sentence");

scanf("%d",n);

ap=(char*)malloc(n*sizeof(char));//分配你想要的内存大小

while(true)

{

printf("Input the string:\n");

fflush(stdin);

gets(ap);

if(strlen(ap)=1)

{

break;

}

if(palin(ap))

printf("It is a plaindromia.\n");

else

printf("It is not a plaindromia.\n");

}

free(ap);

return 0;

}

测试了 正常

c语言 这个函数有什么问题 x=y 时 输出为 0 x

判断相等应该是两个等号:a==b,你少了一个。一个等号表示赋值,不论怎么样,if(a=b)这个始终是成立的,所以你的代码运行的时候,只要不满足第一个判断(ab)就一定会进第二个当中,所以你说的两种情况都是0

C语言程序输出结果一直是0,怎么办?

你的fun里的形参a是个int类型,你写a=1.0/a,相当于把1.0/a的结果又强制转换成了int,因为你的a肯定比1大,所以结果当然还是0,建议把a=1.0/a改成return 1.0/a,a=0改为return 0

c语言中调用函数时为什么得有函数返回值?为什么int返回值是0,或1?并分析下下列代码!

返回值是用来结束那个函数的~~就像for循环里的break可以终止循环一样的!!

c语言这个程序的输出为什么一直是0?

没仔细看,你首先你要知道的在C里两个整数相除的结果还是整数,所以象1/2结果就是0而不是你以为的0.5,需要写成比如1.0/2或者(double)1/2或者1/2.0

C语言自己编写函数:为什么输出结果总是0

sqrt的返回值类型是double型,你输出的时候用%d当然结果是错的了,可以试试类型转换,把最后一个printf语句改成如下:

printf("%d\n",(int)sqrt(n));


标题名称:c语言调用函数时输出个0,c语言中输出函数是
链接分享:http://myzitong.com/article/hdscgo.html