关于C语言函数类型定义问题
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/04 18:12:47
关于C语言函数类型定义问题
比如说:全局变量先定义函数getch()为整型,参数为void,型如这个:int getch(void);
局部变量又出这样一句,while((s[0] = c= getch()) == ' ' || c == '\t');这句意思是不是将getch()函数等于空格符,然后又将getch()赋值给整型c;空格符怎么能等于整型c呢?除非c等于数字0?,以上我实在无法理解,请指教这到底是怎么回事呢?
比如说:全局变量先定义函数getch()为整型,参数为void,型如这个:int getch(void);
局部变量又出这样一句,while((s[0] = c= getch()) == ' ' || c == '\t');这句意思是不是将getch()函数等于空格符,然后又将getch()赋值给整型c;空格符怎么能等于整型c呢?除非c等于数字0?,以上我实在无法理解,请指教这到底是怎么回事呢?
![关于C语言函数类型定义问题](/uploads/image/z/15402271-31-1.jpg?t=%E5%85%B3%E4%BA%8EC%E8%AF%AD%E8%A8%80%E5%87%BD%E6%95%B0%E7%B1%BB%E5%9E%8B%E5%AE%9A%E4%B9%89%E9%97%AE%E9%A2%98)
这个语句主要是用的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';
比如
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';