c语言
#include<stdio.h>int main()
{
char ch;
printf("输入一串字符:");
ch=getchar;
while(ch=='a'||ch=='A'||ch=='f'||ch=='F'||ch=='5'||ch=='#')
{
if(ch!='a'&&ch!='A'&&ch!='f'&&ch!='F'&&ch!='5'&&ch!='#')
putchar(ch);
}
putchar(ch);
return 0;
}
各位大佬看一下我哪里错了! 本帖最后由 hrpzcf 于 2021-10-23 16:58 编辑
不明白你想干嘛
#include <stdio.h>
int main()
{
char ch;
printf("输入一串字符:");
ch = getchar(); // 加括号
// 下面的条件会造成死循环,因为循环内部没有改变ch的值
while (ch == 'a' || ch == 'A' || ch == 'f' || ch == 'F' || ch == '5' || ch == '#')
{
// 这里的条件又刚好和循环的条件相反,能进循环的进不了if语句,能进if语句的进不了循环
if (ch != 'a' && ch != 'A' && ch != 'f' && ch != 'F' && ch != '5' && ch != '#')
putchar(ch);
}
putchar(ch);
return 0;
}
你总得先告诉大家,你这段代码到底要实现啥。。。 本帖最后由 jackz007 于 2021-10-23 17:23 编辑
ch=getchar;
while(ch=='a'||ch=='A'||ch=='f'||ch=='F'||ch=='5'||ch=='#')
{
if(ch!='a'&&ch!='A'&&ch!='f'&&ch!='F'&&ch!='5'&&ch!='#')
putchar(ch);
}
能解释一下设计这个循环的意图吗?一旦进入,它就是个死循环啊!循环有进无出,写程序的大忌! jackz007 发表于 2021-10-23 17:20
能解释一下设计这个循环的意图吗?一旦进入,它就是个死循环啊!循环有进无出,写程序的大忌!
就是想输入一串字符,然后剔除aAfF5#这些字符在按顺序输出 刘颖1202 发表于 2021-10-23 22:14
就是想输入一串字符,然后剔除aAfF5#这些字符在按顺序输出
#include <stdio.h>
int main(void)
{
char c ;
for(; (c = getchar()) != '\n';) if(c != 'a' && c != 'A' && c != 'f' && c != 'F' && c != '5' && c != '#') putchar(c) ;
}
编译、运行实况:
D:\00.Excise\C>g++ -o x x.c
D:\00.Excise\C>x
!@$#^YSFgzry6456799dfgdhjlglgSfwzraDSADsaAGSs
!@$^YSgzry646799dgdhjlglgSwzrDSDsGSs
D:\00.Excise\C>
页:
[1]