我们可以在C语言中使用printf()函数内的printf语句

时间:2014-01-20 07:20:32

标签: c printf

以下语句在C中是否正确?

printf(" the string is %s", printf("xyz"));

我的意思是,是否可以在printf函数中使用1 printf语句?
如果可能,请发送该表达式的正确语法。

5 个答案:

答案 0 :(得分:1)

printf返回打印的字符数,因此上面的语句会出错,因为您的formatstring会尝试打印字符串。

你可以这样做:

printf("characters printed: %d", printf("xyz"));

如果要输出格式化字符串的结果,则必须先使用snprintf,然后将其打印到数组中,然后再将其用作字符串打印。

示例:

 char s[100];
 snprint(s, sizeof(s), "My string %d", 3);
 printf(" the string is %s", s);

答案 1 :(得分:0)

此声明不正确,但您可以在printf中使用printf。 成功返回后,printf函数返回打印的字符数(不包括用于结束输出到字符串的尾部'\ 0')。

你可以使用:

printf(" the string is %d", printf("xyz"));

答案 2 :(得分:0)

printf所做的只是将字符推送到缓冲的输出流。打印返回:

成功时,将返回写入的字符总数。

如果发生写入错误,则设置错误指示符(ferror)并返回负数。

如果在写入宽字符时发生多字节字符编码错误,则将errno设置为EILSEQ并返回负数。

所以,如果你想要打印出任何一个,你可以使用第二个printf。但它不返回字符串,这些字符在缓冲输出流中,直到其中一个发生:程序终止,遇到'\ n',缓冲区已满,或者调用ffslush()之类的命令。

答案 3 :(得分:0)

语法: -

printf ("Your String Length :: %d",printf("TestString"));

1)首先它将执行内部printf

2)内部printf以字符串长度返回。

3)在外部printf中使用%d说明符。

答案 4 :(得分:0)

非常简单。 首先printf()表示主要值,然后printf()的其余部分计算打印值的数量。 示例:

#include <stdio.h>
#include <conio.h>

void main()
{
    int i = 43;
     printf("%d", printf("%d", printf("%d", printf("%d", i))));
     getch();
}