猿问

不明这个代码while(*p)的意义

#include <stdio.h>

main(){

char str[50],*p=str;

printf("enter string:");

gets(str);

while(*p)

p++;

printf("string lenth=%d\n",p-str);


}

金大大Da
浏览 2018回答 3
3回答

流浪_老

意思等同while(*p!=NULL)就是指针不为空的时候

hhh112123123

*是取地址符号,p是地址*p就是你的内容。 while里面判断值返回0或1 当内容不为空时就是1可以进行循环.

Jabin_Aronvoy

在这里*p尽管是一个指向字符的指针,但把它放在while的条件判定中时它会隐式转换为bool类型。当p为空时为false,当p不为空则为true。
随时随地看视频慕课网APP
我要回答