|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- scanf("%c",&ch);
- while(ch!='\n')
- {
- memset(a, 0, sizeof a);
- for(i=0;ch!=' '&&ch!='\n';i++)
- {
- scanf("%c",&ch);
- a[i]=ch;
- }........
- }
复制代码
我想以空格为分隔处理字符串,输入结束标志为回车,这样输入为什么不成功?
本帖最后由 jackz007 于 2022-10-18 21:07 编辑
因为判断滞后,这个代码是先把字符写入数组,然后,才判断被写入数组的字符是否是空格或者换行符。正确的顺序当然是先判断,符合条件才写入喽。
试试下面的代码
- #include <stdio.h>
- #include <string.h>
- int main(void)
- {
- char ch , a[256] ;
- int i ;
- memset(a , 0 , sizeof a) ;
- for(i = 0 ; scanf("%c" , & ch) == 1 && ch != ' ' && ch != '\n' ; a[i] = '\0') a[i ++] = ch ;
- puts(a) ;
- }
复制代码
|
|