麻烦高手帮我看看这个C语言程序,fou循环for(;t<=p;t++)中省略的是什么,为什么我分号前加t=0是错的

2025-04-02 17:27:35
推荐回答(3个)
回答1:

t是指针,0是整形,t=0显然是错的,省略部分就是给t赋值,这里显然不用赋值,因为前面已经赋值char *t=a;

回答2:

省略的的确是初始化部分,但如果加入char *t=a;的话变成定义一个同名的指针,在使用时会混乱,因为系统不知道用哪个
要么上面不打,要么下面不打,补全的话+*t=a试下,个人观点未经尝试不确定正误- -

回答3:

for(;t<=p;t++)
if(*t!='*')
*(a++)=*t;

省略的是初始化部分,既是 char *t=a;,

难不成你有见过指针赋值为 0 的吗,要赋值为 0 也要写成 p = NULL;