gpt4 book ai didi

c - 使用scanf输入格式

转载 作者:行者123 更新时间:2023-11-30 20:50:43 29 4
gpt4 key购买 nike

我无法解决 C 教科书中发现的这个问题:

使用以下scanf函数输入数据,使得a=10, b=20, c1='A', c2='a', x=1.5, y=-3.75, z= 67.8。你在键盘上输入什么?

scanf("%5d%5d%c%c%f%f%*f,%f",&a,&b,&c1,&c2,&x,&y,&z);

基本上这是一个关于C语言输入格式的问题。我尝试输入以下内容,但没有成功:

00010凵00020Aa凵1.5凵-3.75凵1.5,凵67.8

其中凵代表空格。当我使用 printf 输出变量时,它给出以下错误消息:

Project1.exe 中 0x000007FEEC8243CE (msvcr120d.dll) 处出现未处理的异常:0xC0000005:写入位置 0x0000000ACCCCCCCC 时出现访问冲突。

谁能帮帮我吗?

最佳答案

您发布的输入与您发布的 scanf 格式完美配合。无需改变任何东西。至于“未处理的异常”错误,它与您迄今为止发布的内容无关。在您展示代码的其余部分之前,无法说明代码中发生了什么以及为什么它“不起作用”。

我的“有根据的猜测”是,您只是将 scanf 格式字符串复制粘贴到 printf,从而不假思索地传输了 %*f > 格式说明符也是 printf 的。但是,printf 格式字符串中的 * 表示某些内容 completely different来自 scanf 格式字符串。它通常会使您的 printf 崩溃,除非您在 printf 参数列表的可变参数部分进行一些非常有意的更改。

附注顺便说一句,不需要用前导零填充前两个整数。格式字符串中的 5 只是限制了要读取的最大字符数,而没有强制规定任何最小值。您只需使用“10 20Aa 1.5 3.75 1.5, 67.8”

关于c - 使用scanf输入格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40922163/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com