sprintf,printf和格式说明符

dru*_*key 1 c printf

我无法理解这行代码的作用:

    sprintf(obj, "%s.o", root);
Run Code Online (Sandbox Code Playgroud)

obj和root都是字符缓冲区,从我读的root根本就是复制到obj?我不确定"%so"是做什么的.%s是指定一个字符串但是.o?

谢谢你的帮助

sid*_*yll 6

%s会与内容所代替root,而随后.o的字符串,它仅仅是一个"额外的"文本的一部分.例如,如果root有"file",obj则将设置为"file.o".