关于C语言函数类型定义问题

问题描述:

关于C语言函数类型定义问题
比如说:全局变量先定义函数getch()为整型,参数为void,型如这个:int getch(void);
局部变量又出这样一句,while((s[0] = c= getch()) == ' ' || c == '\t');这句意思是不是将getch()函数等于空格符,然后又将getch()赋值给整型c;空格符怎么能等于整型c呢?除非c等于数字0?,以上我实在无法理解,请指教这到底是怎么回事呢?
1个回答 分类:综合 2014-11-18

问题解答:

我来补答
这个语句主要是用的C语言的等号算符(=),C语言里面等号可以看做一个函数,它的返回值是右值.
比如
int i,j,x;
i=j=5; 这条语句除了赋值以外还有返回值,返回值是5
所以可以这么写
x = (i=j=5); 这里x就等于5了.
所以 语句 if(x==0) ...
就可以简写为 if((i=j=5) == 0) ...
另外,C里面字符都是用的编码,所以可以用整数变量保存字符,比如 int c='C';
 
 
展开全文阅读
剩余:2000
下一页:细胞的物质输入