鱼C论坛

 找回密码
 立即注册
查看: 1914|回复: 3

[已解决]c语言基础

[复制链接]
发表于 2022-5-4 19:25:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

void main()
{

   char a,b;
   printf ("Input character a,b\n");
   scanf("%c%c\n",&a,&b);
   printf("%c%c\n",a,b);
/*为什么在输出的时候明明是给了两个变量的地址,
*书写两个变量就应该输出来的为什么写了两个之后回车没有进行下一步
*而是必须在输入至少一个字符才能进行下一步的回车
*1,写连续的字符as的话回车需要添加字符才能进行下一步
*2,写带空格的a s回车得到的只有a后面应该也有一个空格
*3,写一个字符回车一次得到的结果只有一个字符
*/



}
最佳答案
2022-5-5 01:17:51
1.scanf("%c%c\n",&a,&b);
第一个%c是第一个字符,第二个%c是第二个字符,当你输完回车时,这个回车被编译器默认为分隔符,这与其格式不匹配,所以继续要求你输入数据
所以代码需改为
scanf("%c%c",&a,&b);
2.a,b为char类型,只能储存1个字符,所以a读到了a,b读到了一个空格,而s被舍弃掉了
所以输出是a
3.b其实读到了你的回车
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-4 19:31:32 | 显示全部楼层
scanf("%c%c\n",&a,&b); 没有这种写法  scanf("%c%c",&a,&b);

"a s" 3个字符,空格也是字符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-5 01:17:51 | 显示全部楼层    本楼为最佳答案   
1.scanf("%c%c\n",&a,&b);
第一个%c是第一个字符,第二个%c是第二个字符,当你输完回车时,这个回车被编译器默认为分隔符,这与其格式不匹配,所以继续要求你输入数据
所以代码需改为
scanf("%c%c",&a,&b);
2.a,b为char类型,只能储存1个字符,所以a读到了a,b读到了一个空格,而s被舍弃掉了
所以输出是a
3.b其实读到了你的回车
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-19 13:38:17 | 显示全部楼层
去掉scanf里的\n
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 15:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表