c++ - scanf 用于字符和整数
问题描述
我正在尝试同时输入字符和整数。但是当我使用cin>>ch>>val; 对于输入,它可以工作。但是使用scanf("%c%d",&ch,&val); ,它显示我运行时错误。我能做些什么来摆脱这个问题?我想使用 scanf 更快的输入。这是我的部分代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int q;
scanf("%d",&q);
while(q--)
{
char ch;
int val,in;
//cin>>ch>>val;
scanf("%c %d",&ch,&val);
in=val;
if(ch=='a'){
//scanf("%d",&val);
//update(1,0,m,++indx,val);
printf("First Case\n");
}else{
//si(in);
//if(in>tree[1]) printf("none\n");
//else query(1,0,m,in);
printf("Second Case\n");
}
}
}
解决方案
我运行了这段代码!这对我来说可以。因此,您可能在 C++ 中使用 scanf 并忘记包含,或者可能是您的代码中的其他内容。你能分享完整的代码吗?正如您所提到的, scanf() 函数没有问题。您可以采用多个输入,例如 scanf(%d%d%c%c,&a,&b,&c,&d);
#include <stdio.h>
int main()
{
printf("Hello World");
int q=1;
while(q--)
{
char ch;
int val,in;
scanf("%c%d",&ch,&val);
in=val;
if(ch=='a'){
printf("%d",val);
}else{
printf("%d",val);
}
}
return 0;
}
推荐阅读
- mysql - MySql:Sum 与内部连接相结合 - 错误结果
- sql - 甲骨文。如果第一个语句存在记录,则忽略第二个
- postgresql - PostgreSQL 从(10.11 到 11.6)更新后的查询规划器行为退化
- php - 如何在结账页面显示订单摘要?
- java - 子类方法不会覆盖其超泛型方法
- python - geopandas:sjoin 'NoneType' 对象没有属性 'intersection'
- java - 如何将 bean 自动装配到 2 个不同的控制器中(Spring)
- c# - Blazor datalist onchange 事件未触发
- firebase - 当应用程序在某些设备上被终止时,FCM 通知未显示
- apache - ServerRoot 必须是 Mac 上的有效目录