注册 登录
编程论坛 C语言论坛

c语言入门

尘封绛颜 发布于 2019-10-15 19:55, 1429 次点击
#include <stdio.h>
int main()
{
    int a,b;
    float x,y;
    char c1,c2;
    scanf("a=%db=%d",&a,&b);
    scanf("%f%e",&x,&y);
    scanf("%c%c",&c1,&c2);
    printf("a=%db=%d",a,b);
    printf("x=%f,y=%e\n",x,y);
    printf("c1=%c,c2=%c",c1,c2);
    return 0;
}最后字符的输入输出不一致,不知道为什么
4 回复
#2
c小白23332019-10-15 20:12
按照你程序读取的规则
a=1b=2 2.2 3.3zd
结果没有问题
我的运行结果
a=1b=2 2.2 3.3zd
a=1b=2x=2.200000,y=3.300000e+00
c1=z,c2=d
C:\Users\94497\source\repos\2018b\Debug\2018b.exe (进程 14028)已退出,返回代码为: 0。
按任意键关闭此窗口...
#3
尘封绛颜2019-10-15 20:20
回复 2楼 c小白2333
嗯嗯知道了
为什么如果输入在下一行输入zd就显示不出来呢
#4
c小白23332019-10-15 20:56
输入时严格遵从scanf中的格式
数字之间利用空格或回车结束一个读取
或者之间在里面加入符号隔开 如第一个a= b=
如果没有的直接紧跟读入
3.3读入后紧跟的就是c1和c2了
想要分开 就在scanf中加一些字符标识分开就行
#5
尘封绛颜2019-10-16 13:03
回复 4楼 c小白2333
好的谢谢
1