C语言程序编译报错123

问题遇到的现象和发生背景

想用_strupr_s函数将小写字母转换成大写字母,在编译时发生了错误。

问题相关代码,请勿粘贴截图

#include<stdio.h>
#include<string.h>

int main()
{
char str[] = "today is tuesday";
printf("%s",_strupr_s(str));
}

运行结果及报错内容

1>D:\Coding\C++\used_function\used_function\源.cpp(12,9): warning C4477: “printf”: 格式字符串“%s”需要类型“char *”的参数,但可变参数 1 拥有了类型“errno_t”
1>D:\Coding\C++\used_function\used_function\源.cpp(12,9): warning C4313: "printf": 格式字符串中的 "%s" 与类型为 "errno_t" 的参数 1 冲突
1>used_function.vcxproj -> D:\Coding\C++\used_function\x64\Debug\used_function.exe
1>已完成生成项目“used_function.vcxproj”的操作。

_strupr_s函数返回的类型是errno_t,打印转换成大写后的字符串可以使用:

#include<stdio.h>
#include<string.h>

int main()
{
    char str[] = "today is tuesday";
    _strupr_s(str);
    printf("%s",str);

    return 0;
}

你要打印的是str不是函数,函数只是改变原字符传