c语言 以下程序的功能是删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。

#include "stdio.h"
main()
{char str[80],ch;
int i,k=0;
gets(str);
ch=getchar();
for (i=0;str[i]!=0;i++)
if(str[i]!=ch) {str[k]=str[i];k++;}
str[k]='\0';
puts(str);
}

if那句成立的话,后面那句str[k]='\0';就不执行吗?
如果一直都要被执行的话,if那句的功能是什么?

循环里面是判断str [i]是不是指定字符,如果不是就赋值给新字符数组str [k],是指定字符就啥也不干,最后循环结束,删除了指定字符,给新的数组加上结束字符\0,你那个程序循环里面还有一个花括号是隐含在里面的
温馨提示:答案为网友推荐,仅供参考
相似回答