gpt4 book ai didi

C 字符串。未获得所需的输出。我怎样才能输入这样的数字

转载 作者:太空宇宙 更新时间:2023-11-04 07:12:05 24 4
gpt4 key购买 nike

给定的 C 代码有什么问题?为什么我无法得到想要的输出?
当我输入 "123 + hello = 234" 时,我希望输出为 "123 hello 234"
但是输出是 "123 + hello"?
请有人解释逻辑有什么问题以及获取输入的正确方法。
另请推荐引用资料以进一步阅读类似主题。

#include<stdio.h>
int main()
{
char str1[11],str2[11],str3[11],ch1,ch2;
scanf("%s",str1);
scanf("%c",&ch1);
scanf("%s",str2);
scanf("%c",&ch2);
scanf("%s",str3);
printf("%s %s %s\n",str1,str2,str3);

return 0;
}

最佳答案

根据您的输入

123 + hello = 234

空格很重要。 123 之后的紧接空白转到 ch1+str2

如果 %c 中没有明确的空格,它会将输入中的空格视为 有效 扫描的输入。

尝试类似的东西

scanf(" %c",&ch1);
^
|

这告诉 scanf() 丢弃所有前导空白字符并读取下一个第一个 非空白 字符,在您的例子中为 +

旁注:始终通过检查返回值来检查 ogf scanf() 是否成功。良好实践

关于C 字符串。未获得所需的输出。我怎样才能输入这样的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27654332/

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