任务:编写两种可能的printf命令来打印以下字符数组。
char str[] = "Im a sentence";
我发现了一个:
printf("%s", str) // this prints: Im a sentence
但是我需要另一个,有人可以帮助我吗?
答案 0 :(得分:3)
这是一个愚蠢的问题,但他们可能正在寻找这个:
printf(str); // 1
printf("%s", str); // 2
请注意,(1)不被视为良好做法,但它有效且有效。
答案 1 :(得分:3)
另一个是将字符串直接传递给printf
:
printf(str);
只要str
没有格式说明符,这就行了。但是,您应该避免在生产代码中使用它,因为编译器将无法正确诊断参数类型和格式说明符之间的潜在不匹配,这可能导致未定义的行为。
答案 2 :(得分:1)
int x;
for (x=0;x<strlen(str);++x)
printf("%c",str[x]);