怎么用scanf()scanf输入字符串 空格数组。。。

问题补充&&
•回答
•回答
•回答
•回答
•回答
猜你感兴趣
服务声明: 信息来源于互联网,不保证内容的可靠性、真实性及准确性,仅供参考,版权归原作者所有!Copyright &
Powered by求解如何用Scanf输入数组_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:300,295贴子:
求解如何用Scanf输入数组收藏
scanf("%3d",&a[i][j]);怎么输入,输入1 2 34 5 67 8 9按回车本应该显示结果,但是9打完按回车就变成空格了
回家看看书吧。
你确定你的循环控制没问题?
scanf(&%d%d%d%d........&, .....);或for(i=0;i&9;i++) scanf(...);或for(i=0; i&3; i++) for (j=0; j&3; j++) scanf(....);
9后面按回车就还是空格
应该用循环赋值吧
坑爹老谭,我按老谭书上打的,第一个i与j的值应为2才对
2 34 5 67 8 9这样输入
三个一回车
之间用空格
就好了!!!
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或用scanf实现gets的功能 - 简约设计の艺术
- 博客频道 - CSDN.NET
1266人阅读
问题的提出:用scanf输入一个字符串的时候,如果输入中碰到空格,scanf就会把空格以前的字符放进后面的字符数组。那么如果现在要求并 不是以空格作为输入结束的标志,而是以最后的回车作为输入串的结束,又该如何做呢?我在一些bbs或者论坛上也看到过有人问过这个问题,一般给出的答案都 是用gets()。
事实上,scanf完全可以做到这个功能。语句是这样的:
&&&&&&&&&&&&&&&&&&&&&&&&&& scnaf(&%[^/n]s&,str);
现在详细说说这个功能。首先,这个功能是针对%s的,在%和s之间可以插入[],中括号里面是一个字符集,如果输入字串中的字母在这个字符集中,就会被读进来,当碰到第一个不在这个字符集中的字母,输入就会结束。比如:
&&&&&&&&&&&&&&&&&&&&&&&&& scanf(&%[abc]s&,str);
输入是:abccbadef
输入是:abccba
其次,在中括号里有两个特殊字符:^和-
^表示非,即不出现在这个字符集中的字母会被接受。它必须紧接着出现在[的后面才会有这个功能,否则就会被当作一般的字符。在上面的例子里,[^/n]表示只要不碰到回车,输入的字符就会被接受。
-表示连接符,比如0-9 a-z等等,它表示了一个范围,在这个范围内的字符都会被接受或不被接受。如果要把-作为一般字符看待,-必须紧接着出现在]的前面。
另外如果要把后括号]也作为一般字符的话,它必须紧接着出现在[或者^的后面。
在msdn里面是可以找到scanf这个用法的,但不是很明显,至少要点3次链接才能到那一页,而且只是大概说了说,没有细致的讲解。在linux的man page上对于这个问题有详尽的解释,如果有兴趣的可以去看看。
补充,这是本人在前一阶段偶然看到的文章,摘抄了下来,忘了记出处了&&今天整理笔记,决定贴到博客上和大家分享,如果作者看到未注明详细出处,忘见谅!
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4988074次
积分:48764
积分:48764
排名:第26名
原创:1202篇
转载:326篇
译文:42篇
评论:2855条
(2)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(7)(6)(9)(17)(27)(13)(16)(29)(16)(17)(10)(10)(13)(12)(25)(13)(10)(13)(17)(9)(13)(9)(13)(13)(27)(13)(18)(17)(15)(23)(19)(34)(27)(27)(19)(18)(10)(31)(23)(55)(78)(76)(13)(28)(33)(21)(68)(113)(65)(83)(43)(22)(74)(78)(48)这个用循环的scanf输入整形数组,输入不了_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:300,295贴子:
这个用循环的scanf输入整形数组,输入不了收藏
#include &stdio.h&int main(){ int num[10],i,max, for(i=0;i&=9;i++) {
printf("num[%d]=",i);
scanf("%d",num[i]);
max=num[0],min=num[0];
if(max&num[i])max=num[i];
if(min&num[i])min=num[i]; } printf("max=%d,min=%d",max,min); return 0;} 这个是代码,是判断数组内的max和min。我用的是visual c++6.0,编译什么的都没错,执行的时候,输入第一个数字,敲回车后就系统就提示程序停止运行了,这是什么问题啊?求修改
养成本能吧 输入出错 就是少了&
你的代码 能运行了 只能找到 最后一个大于第一个数和最后一个小于第一个数不能找到 max min
五一不休息、、、继续帮人、排忧解难、、、、、、、、、
scanf("%d",num[i]);少了&
好人啊,谢谢了哈,所有问题都已经解决
scanf("%d",num+i);一样的
谢谢大家帮忙,问题都已经解决
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 scanf输入字符串 的文章

 

随机推荐