printf字符串指针的时候为什么不需要加*。
直接输出字符串指针的话不应该是输出的内存地址吗?
希望老师详细的解答一下
还有一个建议 建议讲课的时候把一些容易出错的地方详细解答一下,不要全都都是一带而过。
你好:
例如一个字符串指针变量p,此时p是指针变量,它也一定是地址,但是在C语言中,系统都会默认在字符串末给加上\0用于结束字符串,所以用printf()输出时候,只要你打印格式是%s,系统知道我们要输出字符串,而且系统也可以确定字符串的长度,所以当你用%s打印字符指针p的时候就会输出字符串,如果你是以地址打印格式输出的话,系统就会给我们打印出地址, 如果你是解指针(*p),那么系统就取p指针指向的内容,此时看你自己以什么格式输出,就用什么格式打印。
视频的建议已经记下,在今后的视频中会详细讲解容易出错的地方。