c - C 中的 Printf 混淆

标签 c printf

我是 C 的初学者,我在格式化一个简单的 printf 函数时遇到了一些问题,该函数接受两个整数 ab 并打印出 a^2 + b^2 = c,我将 c 指定为 a*a + b*b..

话虽如此,我不确定C的printf语句的参数是如何工作的,这是我写的:

printf("%i,a ^2 + (%i,b) ^2 = %i,c", a, b, c);

这就是它正在打印的内容

3,a ^2 + (4,b) ^2 = 25,c10,a ^2 + (10,b) ^2 = 200,c

这并不太远,我只是不知道如何摆脱丑陋的变量和括号,就像 (4,b)

这就是它应该看起来的样子。我知道我在某处也遗漏了一个“\n”。

3^2 + 4^2 = 25
10^2 + 10^2 = 200

最佳答案

printf("%i^2 + %i^2 = %i\n", a, b, c);

你不需要把 a, b, c 放在字符串中,因为字符串被用作模板,其中 %我将替换为给定的参数。您只需将它们以正确的顺序添加到字符串之后。

所有不以 % 开头的内容都将按原样打印,就像您的情况一样,带有字母和括号。

关于c - C 中的 Printf 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21435838/

相关文章:

c - 使用指针对二维数组中一行中的元素进行排序

ruby-on-rails - 是否可以使用 Rails NumberHelper 方法模拟 sprintf ("%g")的行为?

c - printf 的奇怪行为

连续相同的 "printf"调用产生不同的输出

c - 有没有办法在 Linux 中创建用户定义的信号?

c - c 中 strtok() 的使用显示警告并返回段错误(核心已转储)

c - 在 AVX vector 中加载 64 位整数

c - 插入排序运行时错误

c - 为什么 printf 不起作用?在套接字编程中

c - 如何在C中显示十六进制数?