| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 432 人关注过本帖
标题:为什么不能循环,输入号码,6+最后五位数;若我吧下划线改为scanf("%d%c",& ...
只看楼主 加入收藏
亢奋青年
Rank: 2
来 自:遵义市
等 级:论坛游民
帖 子:64
专家分:28
注 册:2013-11-2
结帖率:75%
收藏
已结贴  问题点数:1 回复次数:2 
为什么不能循环,输入号码,6+最后五位数;若我吧下划线改为scanf("%d%c",&n,&haoma[0]);就能行呢??
#include<stdio.h>

int main ()
{
    int n,j;
    char haoma[12];
    scanf("%d",&n);
    for(j=0;j<n;j++)
    {
        gets(haoma);
        printf("6%c%c%c%c%c\n",haoma[7],haoma[8],haoma[9],haoma[10],haoma[11]);
    }
    return 0;
   
}
搜索更多相关主题的帖子: 下划线 
2013-11-09 16:14
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:1 
你中文是跟哪个体育老师学的?听不懂。

我猜你想说的是:
首先输入一个非负整数n并回车,然后循环输入n次 12位的字符,每次输出 '6'并上“‘12位的字符’的后五位”

scanf("%d",&n); 取得数字后,再用 gets(haoma); 时取得是这行数字后的空行
建议改为scanf("%d%*c",&n);
2013-11-09 16:27
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
这也不对呀,既然printf用到了"%c"输出haoma[11],那么haoma[11]就不应该是'\0'
如果haoma[11]不应该是'\0',gets(haoma)获得的haoma又必须以'\0'结尾,那岂不是haoma溢出了?
建议改 char haoma[12]; 为 char haoma[13];
2013-11-09 16:30
快速回复:为什么不能循环,输入号码,6+最后五位数;若我吧下划线改为scanf("%d ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035640 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved