C语言:关于printf输出变量为什么第一个程序没加星号,而第二个却加了?有什么规律?求大神给分析

2024-11-22 13:15:26
推荐回答(2个)
回答1:

第二个输出的是被“”扩住的,所以*不用转换。
而第一个*定义时表示的是指针,它指向后面的字符串,最后printf输出的是%s(以字符串的形式),就是输出string里面的内容
*是一个运算符。表示的是取这个指针的内容
就比如。pointer_1这个指针是指向a。那么,在指向a之后。对pointer_1做*运算,表示的就是a的值。如果对pointer_1做&运算,表示的是a的地址

回答2:

第二个是指针