麻烦高手帮我看看这个C语言程序,fou循环for(;t<=p;t++)中省略的是什么,为什么我分号前加t=0是错的
#include<stdio.h>voidfun(char*a,char*p){char*t=a;for(;t<=p;t++)if(*t!='*')*(a++)=*t;f...
#include <stdio.h>
void fun( char *a, char *p )
{
char *t=a;
for(;t<=p;t++)
if(*t!='*')
*(a++)=*t;
for(;*t!='\0';t++)
*(a++)=*t;
*a='\0';
}
main()
{ char s[81],*t;
void NONO ( );
printf("Enter a string:\n");gets(s);
t=s;
while(*t)t++;
t--;
while(*t=='*')t--;
fun( s , t );
printf("The string after deleted:\n");puts(s);
NONO();
} 展开
void fun( char *a, char *p )
{
char *t=a;
for(;t<=p;t++)
if(*t!='*')
*(a++)=*t;
for(;*t!='\0';t++)
*(a++)=*t;
*a='\0';
}
main()
{ char s[81],*t;
void NONO ( );
printf("Enter a string:\n");gets(s);
t=s;
while(*t)t++;
t--;
while(*t=='*')t--;
fun( s , t );
printf("The string after deleted:\n");puts(s);
NONO();
} 展开
3个回答
展开全部
t是指针,0是整形,t=0显然是错的,省略部分就是给t赋值,这里显然不用赋值,因为前面已经赋值char *t=a;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
省略的的确是初始化部分,但如果加入char *t=a;的话变成定义一个同名的指针,在使用时会混乱,因为系统不知道用哪个
要么上面不打,要么下面不打,补全的话+*t=a试下,个人观点未经尝试不确定正误- -
要么上面不打,要么下面不打,补全的话+*t=a试下,个人观点未经尝试不确定正误- -
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(;t<=p;t++)
if(*t!='*')
*(a++)=*t;
省略的是初始化部分,既是 char *t=a;,
难不成你有见过指针赋值为 0 的吗,要赋值为 0 也要写成 p = NULL;
if(*t!='*')
*(a++)=*t;
省略的是初始化部分,既是 char *t=a;,
难不成你有见过指针赋值为 0 的吗,要赋值为 0 也要写成 p = NULL;
追问
对呀 那我加上省略的这一部分为什么运行不出结果呢 有乱码
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询