黑马程序员技术交流社区
标题:
scanf输入带空格句子的问题
[打印本页]
作者:
贾永强
时间:
2015-3-19 23:03
标题:
scanf输入带空格句子的问题
我想读入一个键盘输入的句子,例如Hello World!,用scanf该怎么实现呢?例如下面的程序该怎么修改呢?
#include "stdio.h"
void main(void){
char Eng[1000],i,ch;
printf("请输入一个英文句子\n");
//gets(Eng);//使用gets函数实现字符串的输入
scanf("%s",&Eng);
for(ch=' ',i=0;Eng[i];i++){
if(ch==' ' && Eng[i]>='a' && Eng[i]<='z')
{
printf("%c",(ch=Eng[i])&0xDF);//使用位运算实现小写转换为大写
}
else printf("%c",ch=Eng[i]);
}
printf("\n");
}
作者:
恋梦
时间:
2015-3-19 23:17
scanf不能接受空格,所以要这样写scanf("%[^\n]",&Eng);后面的没看
作者:
贾永强
时间:
2015-3-19 23:28
恋梦 发表于 2015-3-19 23:17
scanf不能接受空格,所以要这样写scanf("%[^\n]",&Eng);后面的没看
受教了,谢谢解惑啊
作者:
waterfoxjie
时间:
2015-3-20 00:13
for(ch=' ',i=0;Eng[i];i++) 你的for语句这样写不会变成死循环么?第二个分号写的是执行的条件,你都没给它一个执行结束的标志,这里我认为要注意一下
作者:
lyz0925
时间:
2015-3-20 00:18
可不可以定义一个二维数组试一试呢?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2