标题:为什么不能循环,输入号码,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
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册: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
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册: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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-423294-1-1.html




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

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