switch(y==2) 是一个判断选择执行语句,它本身是没有返回值的,它与case是连在一起用的。如:
switch(a)
{
case 'A':
printf("a = A");
break;
case 'B':
printf("a = B");
break;
}
意思就是说如果表达式a的值是字符'A',那么就执行 printf("a = A");,如果是‘B’,则执行 printf("a = B");
所有的判断语句的值,都只能是真或假,即true和false。在C里面,可以用1和0分别表示(注意:有些语言中只能用true和false)。
y==2也是一个判断语句,如果y= 2,则y==2这个表达式的值就为1,否则就为0。
一般来说,返回值是针对于一个函数来说的,对于某一天语句不说返回值。
返回值可以是定义过的任意类型,可以是空,int, char, char *, string,还可以是自定义的结构等等。
你需要什么值就可以返回什么值。如:
void test1()
{
return; // 返回空
}
int test2(int a, int b)
{
int c = a + b;
return c; // 返回int型的值,同理也可以返回其他的基本类型
}
typedef struct {
char Name[20];
} People;
People * NewPeople(char *pName)
{
People *pPeople = (People*)malloc(sizeof(People));
strcpy(pPeople->Name, pName);
return pPeople; // 返回自定义的一个People类型
}
返回值一般是对函数来讲的,不知道你这儿所指的返回值是什么意思,switch语句没有返回值,他只是c中的一个语句。完整的语句型如:
switch(表达式)
{
case 常量表达式1:执行语句1;
break;
case 常量表达式2:执行语句2;
break;
case 常量表达式3:执行语句3;
break;
default: 默认执行语句;
break;
}
你给的例子中的表达式的值为1,该语句只执行常量表达式的值为1的分支。
1是真 0是假 不论while 或者for 都是逻辑值
当Y=2时,程序进行语句判断,
直接默认为真,
返回值为1
return 1;else return return 0;
“==”符号的结果只有两种,就是真与假,在C语言中就是用1表示 真,0表示假,所以返回值只能是1或0