以下语句在C中是否正确?
printf(" the string is %s", printf("xyz"));
我的意思是,是否可以在printf
函数中使用1 printf
语句?
如果可能,请发送该表达式的正确语法。
答案 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();
}