使用C语言将不同数据类型之间进行混合运算,此次为个人练习,若有错误敬请提出。
首先,我们来看一个小例子:
定义一个整型,一个字符型,一个浮点型,输入部分“%d%c%f”不使用空格进行隔开。
#include <stdio.h>
#include <stdlib.h>
int main(){
int i;
char c;
float f;
scanf("%d%c%f", &i, &c, &f);
printf("i=%d,c=%c,f=%f\n", i, c, f);
}
那么,输出的结果如下:
1024 y 96.5
i=1024,c= ,f=0.000000
为什么c输出来的结果为空?f输出来的是0.000000?因为我们在输入参数时将值使用空格隔开输入,而scanf参数中并没有用空格把三个参数进行隔开。于是,%c取值取到了空格,而空格在ASCII 编码中用字符表示如下表: