早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C语言问题求解释,尤其是最后一步输出那个语句q-str指的是什么main(){charstr[]={'s','t','u','d','e','n','t','\0'};char*q=str;while(*q!='\0')q++;printf("%d",q-str);}

题目详情
C语言问题求解释,尤其是最后一步输出那个语句q-str指的是什么main() { char str[]={'s','t','u','d','e','n','t','\0'}; char *q=str; while(*q !='\0') q++; printf("%d",q-str); }
▼优质解答
答案和解析
q指向倒数第二个字符,str是数组的首地址,两个相减就是看你的不包括'\0'的字符有多少个,并不是看占的内存的字节数。 如果是char数组p++移动一个字节,int数组p++就表示移动两个字节。