【发布时间】:2021-10-08 10:06:27
【问题描述】:
我正在从返回 4 个字符串值的方法中读取数据
printf(%s,%s,%s,%s \n",modValuex.A,modValuex.B,modValuex.C,modValuex.D)
它给出如下值,但不在一行中,如(12,-12,45)
12
,-12
,45
1
,-23
119
我该如何解决这个问题/ 我也尝试添加 \r 和 \t,结果相同。
【问题讨论】:
-
我猜错误是在
scanf()调用之前的几行。请发minimal reproducible example(显示)。 -
您不是在打印带符号的数字 (
%d),而是在打印字符串 (%s),而且您的字符串似乎已经包含换行符,所以有在printf行中您无能为力,以防止它们出现。即,错误在其他地方。 -
有两种方法可以解决此问题。第一种方式在你展示的范围内。这种方式难以理解、复杂、耗时、容易出错、不可读、不需要。第二种方法既简单又干净。如果您想要简单干净的方式,请提供minimal reproducible example。
-
显然生成 4 个字符串的函数没有做你想做的事。因此,将该功能与您希望它执行的说明一起发布
-
出于调试目的,将
%s,%s,%s,%s更改为<%s><%s><%s><%s>看看会发生什么。可能你的字符串末尾有一个\n。显示字符串modValuex.A等是如何生成的。