scanf函数不太懂
各位大佬有没有简单点的例子能讲明白scanf 函数的{:10_266:}看小甲鱼的https://fishc.com.cn/thread-67391-1-1.html看的不太懂
学printf也是看例子就会了
感觉看例子比直接看定义解释那些简单些{:10_319:} #include <stdio.h>
int main()
{
char c;
int i;
int j;
scanf("%c%d%x", &c, &i, &j);
printf("变量c的值是:%c\n", c);
printf("变量i的值是:%d\n", i);
printf("变量j的值是:%#X(%d)\n", j, j);
return 0;
} 补充下不知道为什么我复制这串代码编译运行后显示不出来,用的是Dev C++ 我试了一下,的确是显示不出来。你这个问题应该是这样的:
scanf("%c%d%x", &c, &i, &j);
这一行代码有问题,你想一下,你要输入的东西是c、i、j三个,第一个c没有问题,一个字符,第二个i和第三个j都是int类型。
假设你现在输入a98三个,第一个a会被当成c,也许你想的是第二个9当做i,第三个8当做j。
问题是,系统会把你输入的98两个数字全部当成了i,因此你的j,对于系统而言没有输入。所以它就停在那边等你输入,所以在你看来的结果就是一直显示不出来。
解决的办法是,加入空格区分一下:
scanf("%c %d %x", &c, &i, &j);
然后你再运行,输入a空格9空格8,然后就成功了。
如图:
%5Burl=https://imgtu.com/i/ffzlEF%5Dhttps://z3.ax1x.com/2021/08/17/ffzlEF.png 主要哪里不懂? 万千只cnm 发表于 2021-8-17 00:45
主要哪里不懂?
用法不太懂 wutianlong220 发表于 2021-8-17 00:33
我试了一下,的确是显示不出来。你这个问题应该是这样的:
这一行代码有问题,你想一下,你要输入的东西 ...
谢谢大佬! 鸢纸. 发表于 2021-8-17 21:01
谢谢大佬!
不客气,我也刚学不久
页:
[1]