请问为什么这个是错误的?*string不是指针么,string不应该是"hello\0"的内存地址么?
为什么这里要用string 不可以用*string
printf的%s和puts。是对内存空间中一块数据打印到屏幕上
他们都是对字符串的首地址(数组的中间也可以,只要是个内存的地址即可)进行操作,以字符串的结束符为结束标志(不管是不是超过你申请的数组的长度)
不同的格式化符不同,对于%s,它需要的就是指针,而不是值。
string是指针,*是指针运算符,*string就是第一个char的值。&才是地址运算符,对一个变量用它是获取地址。
printf("%s",string);这样就行了,把string前面的*去掉。