C语言自定义函数
如果在自定义函数的一个循环中,返回了一个值,循环未结束,那么循环是否继续进行? 请发下源码看下,再分析。。。。 quark 发表于 2020-1-27 13:18请发下源码看下,再分析。。。。
#include"stdio.h"
#include"string.h"
#define CORRECT "I love qj!"
int cmp(char *ch_1, char *ch_2)
{
int i = 0, j = 0;
while(ch_2)
{
while(ch_1 == ch_2)
{
i++;
j++;
if(!ch_1)
{
return 0;
}
else
{
return 1;
}
}
i++;
}
return 0;
}
int main(void)
{
char ch;
int n, sum = 0, i;
printf("The most beautiful girl in the world is : ");
gets(ch);
n = strlen(ch);
for(i = 0; i < n; i++)
{
sum += ch; //将字符转换为ASC
}
int cmp(char *ch_1, char *ch_2);
#ifndef CORRECT
#define CORRECT "I love qj!"
#endif
if(cmp(ch, CORRECT) == 1 || sum == 211)
{
printf("\n\t Yeah,you are a prescient man!\n\n");
}
else
{
printf("\n\t NoNoNo,you are so vulgar and impolitic!\n\n");
}
return 0;
} quark 发表于 2020-1-27 13:18
请发下源码看下,再分析。。。。
这个循环我觉得写得时候没啥问题,写完了运行也没问题,可是后来自己没看懂
哈哈哈。。。 love_qj 发表于 2020-1-27 15:11
这个循环我觉得写得时候没啥问题,写完了运行也没问题,可是后来自己没看懂
哈哈哈。。。
执行了 return之后就退出函数了,所以剩下的循环都不会执行。 return 后函数结束, 5楼正解。
页:
[1]