第二张图片是题目,第一个是打的代码+输出的结果,想问问为啥这个输出的结果是?,而不是a啊
2条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
在您的代码中,您试图同时读取一个字符
m
和一个整数n
使用scanf_s("%c%d",&m,&n);
这一行。然而,在之前,您已经通过getchar()
获取了一个字符,但是没有处理它。因此,当执行到scanf_s("%c%d",&m,&n);
的时候,m
已经被之前的getchar()
填充了,而接下来的scanf_s
会尝试解析下一个输入作为整数。要解决这个问题,您可以删除不必要的
getchar()
行,并且对用户输入进行适当的处理。以下是修改后的代码:#include <stdio.h> int main() { float a, b; char m; int n; printf("please:"); // Read the first float (in decimal form) scanf("%f", &a); // Read the second float (in exponential form) scanf("%f", &b); // Read the character 'm' scanf(" %c", &m); // 注意这里有一个空格,用于跳过前导空白字符 // Read the integer 'n' scanf("%d", &n); printf("%f\n%f\n%c\n%d\n", a, b, m, n); return 0; }
这段代码首先读取两个浮点数,然后读取一个字符,最后读取一个整数。注意在读取字符后加了一个空格
" "
,这可以确保在读取字符时不会意外地包含上一个输入的换行符。运行这段代码后,你应该能正确地得到输入的值。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 有人会SIRIUS 5.8.0这个软件吗
- ¥30 comsol仿真等离激元
- ¥15 静电纺丝煅烧后如何得到柔性纤维
- ¥15 (标签-react native|关键词-镜像源)
- ¥100 照片生成3D人脸视频
- ¥15 伪装视频时长问题修改MP4的时长问题,
- ¥15 JETSON NANO
- ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
- ¥20 关于 openpyxl 处理excel文件地问题
- ¥15 MS中不知道高分子的构型怎么构建模型