C中的Printf混淆

use*_*411 0 c printf

我是一个初学者C,和我遇到了一些麻烦格式化一个简单的printf函数,它接受两个整数,ab和打印出来a^2 + b^2 = c,在这里我给你ca*a + b*b..

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

printf("%i,a ^2 + (%i,b) ^2 = %i,c", a, b, c);
Run Code Online (Sandbox Code Playgroud)

这就是它的印刷品

3,a ^2 + (4,b) ^2 = 25,c10,a ^2 + (10,b) ^2 = 200,c
Run Code Online (Sandbox Code Playgroud)

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

这就是它应该是什么样子.我知道我在某处也错过了一个"\n".

3^2 + 4^2 = 25
10^2 + 10^2 = 200
Run Code Online (Sandbox Code Playgroud)

fed*_*024 8

printf("%i^2 + %i^2 = %i\n", a, b, c);
Run Code Online (Sandbox Code Playgroud)

你不需要把a,b,c在字符串中,因为字符串作为其中%我会用给定的参数被取代的模板.您只需要在字符串后面以正确的顺序添加它们.

所有不能开头的东西%都会按照原样印刷,就像你的字母和括号一样.