为什么printf不能输出多个字符串

fzx6393 2014-09-16 09:27:44
#include<stdio.h>
int main()
{
char c;
scanf("%c",&c);
while(c!='#')
{
if(c>='a'&&c<='z')
{
c-=32;
}
else if(c>='A'&&c<='Z')
{
c+=32;
}
printf("%c",c);
}
}
输入HKsd
输出hkSDhkSDhkSDhkSDhkSDhkSDhkSDhkSDhkSDhkSDhkSDhkSDhkSDhkSD....很多
...全文
510 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
百曉生 2014-09-17
  • 打赏
  • 举报
回复
# include <stdio.h>

int main(void)
{
	char c;
    scanf("%c",&c);
	while(c!='#')
	{
		if(c>='a'&&c<='z')
		{
			c-=32;
		}
		else if(c>='A'&&c<='Z')
		{
			c+=32;
		}
		printf("%c",c);
		scanf("%c",&c);//不加这个, c只是个字符,你输入字符串当然不行了 ,这样是循环输入一个个字符 
	}
	
	return 0; //最好加上这个 
}
mujiok2003 2014-09-16
  • 打赏
  • 举报
回复
http://ideone.com/2yilRg
mujiok2003 2014-09-16
  • 打赏
  • 举报
回复
引用 3 楼 fzx6393 的回复:
[quote=引用 1 楼 mujiok2003 的回复:]
   scanf("%c",&c);
 while(c!='#')
-->
  
 while( scanf("%c",&c) == 1 && c !='#')
while( scanf("%c",&c) == 1 && c !='#')[/code][/quote]这句话输出结果不对[/quote] http://ideone.com/2yilRg
fzx6393 2014-09-16
  • 打赏
  • 举报
回复
引用 1 楼 mujiok2003 的回复:
   scanf("%c",&c);
 while(c!='#')
-->
  
 while( scanf("%c",&c) == 1 && c !='#')
while( scanf("%c",&c) == 1 && c !='#')[/code][/quote]这句话输出结果不对
fzx6393 2014-09-16
  • 打赏
  • 举报
回复
while( scanf("%c",&c) == 1 && c !='#')
这句话
输入
mujiok2003 2014-09-16
  • 打赏
  • 举报
回复
   scanf("%c",&c);
 while(c!='#')
-->
  
 while( scanf("%c",&c) == 1 && c !='#')

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧