Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C语言中的Printf混淆_C_Printf - Fatal编程技术网

C语言中的Printf混淆

C语言中的Printf混淆,c,printf,C,Printf,我是C的初学者,我在格式化一个简单的printf函数时遇到了一些问题,这个函数需要两个整数,a&b,然后打印出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 这不算太远,我只是不知道如何摆脱丑陋的变量&

我是C的初学者,我在格式化一个简单的printf函数时遇到了一些问题,这个函数需要两个整数,
a
&
b
,然后打印出
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
您不需要在字符串中放入
a
b
c
,因为该字符串用作模板,其中%i将被给定参数替换。您只需要按照正确的顺序将它们添加到字符串之后


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

a
放在第一个参数的引号中时,得到的是文字
a
,而不是a的值

您希望执行以下操作:

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

您使用的
符号不起作用。使用
%i
作为整数的占位符,然后将整数作为单独的参数传递。因此,在我上面写的版本中,您有三个占位符,然后传入三个变量作为附加参数。

您还可以使用
printf(“%d^2+%d^2=%d”,a,b,c)
处理整数。如果需要分析双精度,可以使用
printf(“%f^2+%f^2=%f”,a、b、c)
。我建议您阅读《C编程语言II版》,这是一本非常好的书。第七章是关于输入和输出的。

所以基本上你只需要把参数a b&c放在末尾,这样它们就不会直接打印a b和c了?确切地说,只需按正确的顺序,按照你拥有的%i的相同数字排列即可。
printf("%i^2 + %i^2 = %i", a, b, c);