printf函数用法

关于printf函数用法
#include
#include

int main() {
char str[20] = "abcde";
printf(str);
printf("\n");

for (int i = 0; i < strlen(str); i++) 
{
    str[i] = str[i] - 32;
}
printf(str);
return 0;

}
这个pritnf(str)什么意思,为什么不用双引号框住str,求解答

printf(str)意思是打印出str这个字符串变量,
如果用双引号框住str, 那么str指代的就不是str这个变量了, 也就无法输出它的值, 结果, 打印出的是"str"这个字符串。
不用双引号框住str, str就可以指代str这个变量。
如果有帮助, 点个「采纳」谢谢。

因为str是个字符串变量,不是字符串啊

这个的意思代表直接输出str的值。这个你可以简单的理解为没有任何提示信息的输出
当然我们可以加一点输出提示 printf("str = %s",str);

printf(str)是输出abcde
printf("str")是输出str

这个是变量来着 值是可以变的
“”双引号的是字符串