C 我是否可以在';之后继续使用printf()写入字符串';?
有没有一种方法可以用C语言编写如下Java格式的代码C 我是否可以在';之后继续使用printf()写入字符串';?,c,string,printf,C,String,Printf,有没有一种方法可以用C语言编写如下Java格式的代码 //Assume "char str[n]" declared & initialized printf("The String \"%s\"",str); printf("contains %d bytes in RAM", sizeof(str)); 您可以将多个参数传递给printf,例如: System.out.println("The
//Assume "char str[n]" declared & initialized
printf("The String \"%s\"",str);
printf("contains %d bytes in RAM", sizeof(str));
您可以将多个参数传递给
printf
,例如:
System.out.println("The String " + str + " contains " + sizeof(str) + " bytes in RAM"); //I know there is no //sizeof(...) in Java, i just wrote it to demonstrate :D
参数的顺序必须与格式说明符(以
%
开头的)在格式字符串中的显示顺序相匹配。您可以将多个参数传递给printf
,例如:
System.out.println("The String " + str + " contains " + sizeof(str) + " bytes in RAM"); //I know there is no //sizeof(...) in Java, i just wrote it to demonstrate :D
参数的顺序必须与格式说明符(以
%
开头的格式说明符)在格式字符串中的显示顺序相匹配。您可以向printf()提供多个格式说明符和多个值。
正如评论中指出的,您的代码中有一个错误sizeof(str)
只给出变量的大小,而不是字符串的长度。你实际上在寻找的是strlen(str)
printf("The String %s contains %d bytes in RAM", str, sizeof(str));
您可以向
printf()
正如评论中指出的,您的代码中有一个错误sizeof(str)
只给出变量的大小,而不是字符串的长度。你实际上在寻找的是strlen(str)
printf("The String %s contains %d bytes in RAM", str, sizeof(str));
谢谢你的回答!对不起,我是新手。你的答案也很有效。谢谢你的回答!对不起,我是新手。你的答案也行。@Roghan:没问题。不过,您应该先查看文档。在您最喜欢的搜索引擎中搜索printf文档c可以找到此函数的文档号。@P:代码中没有提到其他问题。我回答了他提出的问题。我现在已经补充了这一点。谢谢。@KenWhite回答说,你应该解释一下初学者犯的明显错误。@P明白了。没有引起足够的注意。我知道如何写答案-我不是新来的。:-)我不是唯一一个没有解决另一个问题的人。@KenWhite作为一个有经验的用户,您知道
sizeof(str)
和%d
的使用是这里最常见的问题之一。我特别关注初学者从我们的答案中学到的常见错误。@Roghan:没问题。不过,您应该先查看文档。在您最喜欢的搜索引擎中搜索printf文档c可以找到此函数的文档号。@P:代码中没有提到其他问题。我回答了他提出的问题。我现在已经补充了这一点。谢谢。@KenWhite回答说,你应该解释一下初学者犯的明显错误。@P明白了。没有引起足够的注意。我知道如何写答案-我不是新来的。:-)我不是唯一一个没有解决另一个问题的人。@KenWhite作为一个有经验的用户,您知道sizeof(str)
和%d
的使用是这里最常见的问题之一。我特别关注初学者从我们的答案中学习到的常见错误。一个小错误是:%d
格式说明符要求参数类型为int
,但sizeof
产生的值类型为size\u t
。这在某些系统上可以正常工作,但在其他系统上可能会出现可怕的故障。您应该将%d
更改为%zu
@NateEldredge,谢谢您提供详细信息。有一个小错误:%d
格式说明符需要类型为int
的参数,但是sizeof
生成类型为size\t
的值。这在某些系统上可以正常工作,但在其他系统上可能会出现可怕的故障。您应该将%d
更改为%zu
@NateEldredge,谢谢您提供详细信息。我会小心的。