对与这个C语言 我有个小疑问.拜托大家.希望能得到解答

来源:百度知道 编辑:UC知道 时间:2024/05/30 13:51:04
下面程序的输出结果是6
func(char *s)
{ char *p=s;
int num=0;
while(*p != ‘\0’)num++;
return(num);
}
main()
{printf(“%d\n”,func(“ABCDEF”));}
请问p会自动指往下指么,即p++ 为什么类? 请解释

这个程序不对,没有p++就不会往下指的
应改为
#include<stdio.h>
int func(char *s)
{ char *p=s;
int num=0;
while(*p!= '\0')
{
num++;
p++;
}
return(num);
}
void main()
{
printf("%d\n",func("ABCDEF"));
}
结果是6哈

不会吧
while(p[num] != ‘\0’)num++;
这还差不多

你的程序是死循环,改成p++就可以了。
p++表示下一个循环指针加1,指向字符串的下一个字符。

这个函数返回字符串的长度。所以结果为6.

你又没有用p++,它怎么会自动住下指呢?

while(*p++ != ‘\0’)num++;
这个还差不多。

代码没打全? *p++ 吧

p不会往下指,如果要往下指的话要有指针移动的语句,可是这里没有.”num++”,这句可不是指针移动的语句.
"p++"不是什么类,C语音是面向过程的,没有类这个概念.类这个概念是面向对象语言的,比如C#就是面向对象的语言了.
如果想了解”类”的话,可以去找本C#的入门书籍来看看.