C语言,printf("%s尀t",&str[i]); 这句代码是要输出什么?

&是取地址吗,%s格式输出地址?感激不尽~
2024年11月19日 14:31
有3个网友回答
网友(1):

%s是输出指向字符指针对应的字符串,以\0作为结束符.
&str[i]的意思是取str字符数组的第i个元素的地址,
整句话的意思是以str字符数组的第i个元素为起始元素开始打印字符串,直到遇到\0
比如
char *str = "123456780";
i = 1;
printf("%s\t", &str[i]);
就是打印出23456780

网友(2):

%s是输出字符串,\t的是转义字符,表示空格,&str[i]是取第i个字符串的地址,这句话的意思是输出第i个字符串!

网友(3):

输出貌似不对,如果去掉&会打印str[]这个字符串。如果是打印地址的话要用%p占位。%s是用来输出字符串的,参数可以给一个常量字符串,或者一个字符数组的首地址。