问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

一个C语言字符串输入问题

发布网友 发布时间:2022-04-19 20:09

我来回答

5个回答

热心网友 时间:2023-07-10 04:06

我也试了一下,没问题,你到底是什么问题,是要在s1或s2中输入空格吗?那么用gets函数;
gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符。
其调用格式为:gets(s);   
其中s为字符串变量(字符串数组名或字符串指针)。   
gets(s)函数与scanf("%s:",&s)/* scanf("%s",s) */相似,但不完全相同,使用scanf("%s",&s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
你改为:
#include<stdio.h>
void main()
{ char s1[50],s2[50];
gets(s1);
gets(s2);
printf("%s\n",s1);
printf("%s\n",s2);
}
这样就用回车表示输入结束

热心网友 时间:2023-07-10 04:06

就是一个while循环,意思:当(符合条件-->继续循环){ 上面那个while里的条件不为true时不执行这里的代码 }还有一种是do……while

//ch接收输入并判断输入是不是不等于'#',并且判断oldch是否等于'#',当两个变量的值的或为真时执行中括号里的代码
while((ch=getchar())!='#'||oldch!='#'){
//给K赋值为0
k=0;
//当ch不等于#并且k的值小于MAXLEN-1时执行中括号里的代码
while(ch!='#'&& k< MAXLEN-1){
//将ch的值赋给数组str,下标为k,然后下标k加1
str[k++]=ch;
//ch继续接收输入
ch=getchar();
}
//当上面那个while条件不符时,执行这里的代码,将#赋给oldch
oldch='#';
//将'\0'赋给下标为k的数组str
str[k]='\0';
/*fill_b*/
//给len赋值0
len=0;
//for循环,将数组的长度赋值给len
for(i=0;str[i];i++)
len++;
/*fill_e*/
//输出len
printf("%d\n",len);
}

热心网友 时间:2023-07-10 04:07

外 while((ch=getchar())!='#'||oldch!='#') 判断是否连续2个#,如果是就不进入循环退出;

内while(ch!='#'&& k< MAXLEN-1) 一直读数据,读到有一个#,或者太长;

整个过程是:
1)检查是不是2个# while((ch=getchar())!='#'||oldch!='#')
2) 读入一句 while(ch!='#'&& k< MAXLEN-1)
3) 把字符串最后置0 str[k]='\0';
4) 计算长度 for(i=0;str[i];i++)

要是我写就不会这么麻烦,长度可以直接在第二个循环中做到;

热心网友 时间:2023-07-10 04:07

char
a;
只能放一个字符,字符串是字符的数组,可以定义
char
b[10];
就可以放10个字符

热心网友 时间:2023-07-10 04:08

我试了一下,没有问题啊
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大三实习到期需要解除实习关系吗 一个大四的实习生,实习了三个月,签了三方协议,想辞职,该怎么办?_百度... 我是今年毕业的大三学生,去年和一家公司签了三方协议,现在不想去了,但... 个人所得税的计算公式方法? 已转换lpr什么时候生效 lpr转完什么时候生效 转为lpr什么时候生效 江苏省环保产业研究会陈蒙蒙会长、陈志鹏副会长一行莅临我司考察调研... 紫苏籽油有哪些营养价值? 三星note3页面无法自动显示短信检验密码,求助! c语言 输入一个字符串,一个个读入字符,再输出。 C语言中有string吗? C语言:字符串输入与输出 c语言输入多个string字符串的时候,怎么输入一个,... c语言中string是啥意思啊? 控制啥的啊 C语言,要输入N个字符串怎么输? c语言如何输入数字字符串 C语言字符串的输入 c++中怎么从键盘输入string类型的变量?? c语言中string怎么用啊 c语言 如何从键盘输入字符串?????? 在C语言中怎么输入一个字符串 有关C语言字符串输入问题 c++string类型怎么输入 c语言怎么输入字符串 c语言字符串数组怎么输入和输出呢 支付宝淘票票获取短信的手机如何修改? 生完孩子8个月,睡觉时子宫鼓起来一动一动的为什么 为什么睡着后子宫会痉挛?这星期发生三次了! 每天晚上睡觉醒了子宫里感觉都有空气一样这么回事? C语言上中怎么样直接输入输出一个字符串 祝生日快乐的歌有哪些? 祝你生日快乐的歌词 有关生日或生日祝福的好听的歌曲 祝你生日快乐祝你天天快乐是什么歌? “祝你生日快乐”的歌名是什么? 祝福生日的有哪些歌曲 “生日快乐,祝你生日快乐。。。”这句歌词的歌名是... 祝你生日快乐歌曲原唱 祝你生日快乐 歌词 祝你生日快乐的歌词是什么? 祝你生日快乐原版完整版歌词。 最好听的生日快乐歌 祝福别人生日的歌曲哪些? 生日祝福歌有哪些 祝你生日快乐祝你天天快乐这首歌叫什么? 平时唱的“祝你生日快乐,祝你生日快乐…”这首歌歌名... 祝你生日快乐的这首歌的钢琴的曲子的音符 生日快乐歌(中文版) 歌词 找一首歌词里面有祝你生日快乐的歌