c - 为什么这段代码不打印提示或读取有效数据?
问题描述
#include<stdio.h>
int main()
{
int a, b, c;
printf("Enter the two numbers:");
scanf("%d%d \n", &a, &b);
c=a+b;
printf("a+b= %d \n", c);
c=a-b;
printf("a-b= %d \n", c);
c=a*b;
printf("a*b= %d \n", c);
c=a/b;
printf("a/b= %d \n", c);
c=a%b;
printf("Remainder when a divided by b= %d \n", c);
return 0;
}
运行此代码时,它不要求任何输入,而只是为所有打印函数提供一个垃圾值。
为什么?
解决方案
你的scanf
线应该是scanf("%d %d", &a, &b);
。当您输入两个变量作为输入时,请始终给出间距,并且不要\n
在 scanf 函数中插入 a - 它认为这是第三个输入的位置。
请详细阅读转义序列以了解为什么这是一个问题。
推荐阅读
- c# - 当有硬件键盘时,有没有办法在 UWP 应用程序中显示触摸屏键盘 - Windows 10
- python - `NameError: name column_name 未定义`
- html - 如何使用 position: absolute 定位元素,使其下半部分隐藏在视口下方?底部:-50%;不工作
- mongodb - 如何使用 mongodb 和 mongoose 计算 postModel 中的整体帖子活动(喜欢、不喜欢、评论)和 userModel 中的参考总和
- python - 如何逐行解析记录并仅打印选定的字段
- python - Python - 绘制特定的时间序列范围
- react-hooks - 调用 Apollo useQuery() 时出现 React Hook 错误
- android - 如果使用整数,如何删除结果中的 .0 或 E 或停止崩溃
- vb.net - 如何在windows的复制/粘贴中保留变量(CTRL+C代码中的变量)
- face-recognition - 选择权重进行加权损失计算的逻辑?