代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int i;
char j;
float k;
scanf("%d%c%f", &i, &j, &k);
printf("%.2f", i + j + k);
return 0;
}
结果错误如下:
错误分析:
1、空格也是一个字符,所以相加的j不是a的ASCII码值;
2、导致后面k的值也不对。
解决方法:
#define _CRT_SECURE_NO_WARNINGS //解决scanf编译报错
#include <stdio.h>
int main() {
int i;
char j;
float k;
scanf("%d %c%f", &i, &j, &k);
printf("%.2f", i + j + k);
return 0;
}