请教一个C语言知识在前面已经定义了一个指针*s 而后面的while(*s)是什么意思呢?这样的条件应该怎样判断?# include # include # include int fun(char *s,char *s1){int n;char *p ,*r;n=0;while(*s){ p=s;r=s1;while(*r)if(*r
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 12:38:33
![请教一个C语言知识在前面已经定义了一个指针*s 而后面的while(*s)是什么意思呢?这样的条件应该怎样判断?# include # include # include int fun(char *s,char *s1){int n;char *p ,*r;n=0;while(*s){ p=s;r=s1;while(*r)if(*r](/uploads/image/z/5168021-5-1.jpg?t=%E8%AF%B7%E6%95%99%E4%B8%80%E4%B8%AAC%E8%AF%AD%E8%A8%80%E7%9F%A5%E8%AF%86%E5%9C%A8%E5%89%8D%E9%9D%A2%E5%B7%B2%E7%BB%8F%E5%AE%9A%E4%B9%89%E4%BA%86%E4%B8%80%E4%B8%AA%E6%8C%87%E9%92%88%2As+%E8%80%8C%E5%90%8E%E9%9D%A2%E7%9A%84while%28%2As%29%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%E5%91%A2%3F%E8%BF%99%E6%A0%B7%E7%9A%84%E6%9D%A1%E4%BB%B6%E5%BA%94%E8%AF%A5%E6%80%8E%E6%A0%B7%E5%88%A4%E6%96%AD%3F%23+include+%23+include+%23+include+int+fun%28char+%2As%2Cchar+%2As1%29%7Bint+n%3Bchar+%2Ap+%2C%2Ar%3Bn%3D0%3Bwhile%28%2As%29%7B+p%3Ds%3Br%3Ds1%3Bwhile%28%2Ar%29if%28%2Ar)
请教一个C语言知识在前面已经定义了一个指针*s 而后面的while(*s)是什么意思呢?这样的条件应该怎样判断?# include # include # include int fun(char *s,char *s1){int n;char *p ,*r;n=0;while(*s){ p=s;r=s1;while(*r)if(*r
请教一个C语言知识
在前面已经定义了一个指针*s 而后面的while(*s)是什么意思呢?这样的条件应该怎样判断?
# include
# include
# include
int fun(char *s,char *s1)
{
int n;
char *p ,*r;
n=0;
while(*s)
{
p=s;
r=s1;
while(*r)
if(*r==*p)
//判断p和r指向的字符是否相同
{
r++;
p++;
}
else
break;
if(*r=='\0')
//如果r指向串的尾标志,则统计n加1
n++;
s++;
}
return n;
}
main()
{
char s[81],s1[4];
int n;
FILE *out;
printf("input main string:");
gets(s);
printf("input sub string:");
gets(s1);
puts(s);
puts(s1);
n=fun(s,s1);
printf("n=%d\n",n);
out=fopen ("outfile.dat","w");
strcpy(s,"asd asasdfg asd as zx67 asd mklo");
strcpy(s1,"as");
fprintf(out,"%d",fun(s,s1));
fclose (out);
}
这个程序的功能是输入一个长的字符串 然后再输入一个这个长字符串里出现过的字符串 看看该字符串在原字符串出现过几次 比如输入asdfsasdgdasd 再输入asd 输出3
while语句的表达式是while(*s) while(*r);这种形式,系统是怎样判断的呢?
请教一个C语言知识在前面已经定义了一个指针*s 而后面的while(*s)是什么意思呢?这样的条件应该怎样判断?# include # include # include int fun(char *s,char *s1){int n;char *p ,*r;n=0;while(*s){ p=s;r=s1;while(*r)if(*r
这道题我们C语言期末考试考过.
因为*s指针指向的是一个char类型的,所以while(*s)是判断指向的char型是不是为空,即判断指向的内存单元是不是'\0'.
while(*s)是while(*s!='\0')的简写.
理while循环即括号里条件为真,则执行循环.对于字符类型char而言,只要不为'\0',即为真.
希望我的回答对你有所帮助:)
还有不明白的百度HI~