| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1526 人关注过本帖
标题:奇怪而基础的问题 请教大家
只看楼主 加入收藏
wtyj112
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2007-5-9
结帖率:85.71%
收藏
 问题点数:0 回复次数:13 
奇怪而基础的问题 请教大家
#include<stdio.h>
void main()
{
   char str[3];
    int i;

    for(i=0;i<10;i++)
    scanf("%c",&str[i]);

    printf("%c",str[1]);
}

结果很奇怪就是奇数位的数组元素的值都自动给了 想不明白.
搜索更多相关主题的帖子: 基础 
2007-12-03 21:45
wtyj112
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2007-5-9
收藏
得分:0 
就是1,3,5,7.....号位的数组元素无法给值 是乱码

计算机之路是痛苦并快乐着的!!
2007-12-03 21:46
wtyj112
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2007-5-9
收藏
得分:0 
str[10]改成10 应该 我上面写错了

计算机之路是痛苦并快乐着的!!
2007-12-03 21:47
wtyj112
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2007-5-9
收藏
得分:0 
但是问题依然在

计算机之路是痛苦并快乐着的!!
2007-12-03 21:47
conish
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-11-9
收藏
得分:0 
#include<stdio.h>
void main()
{
   char str[10];
    int i;

    for(i=0;i<10;i++)
{
    scanf("%c",&str[i]);

    printf("%c",str[1]);
}
}
2007-12-03 21:55
wubizao
Rank: 1
来 自:荆州长大电信
等 级:新手上路
帖 子:223
专家分:0
注 册:2006-6-24
收藏
得分:0 
#include<stdio.h>
int main(void)
{
   char str[3];          //你定义的是字符数组
    int i;

    for(i=0;i<10;i++)
    scanf("  %c",&str[i]); //每次输入的时候,你把空白符都读入了

    应该改为:scanf("    %c",&str[i])      //%c前加个空格就行了,可以逃过空白输入

    printf("%c",str[1]);
}

在路上走,看见了C,从此爱上了她
2007-12-03 21:57
wtyj112
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2007-5-9
收藏
得分:0 
我怎么把这个忘了呀呵呵
单个字符后面也有个结束符
6楼是不是这个意思?

计算机之路是痛苦并快乐着的!!
2007-12-04 00:47
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
#include<stdio.h>
void main()
{
   char str[3];     /* 数组元素与下面读入的元素个数不同 */
    int i;

    for(i=0;i<10;i++)
    scanf("%c",&str[i]);

    printf("%c", str[1]);    /* 这个只输出一个字符 */
}

/* 输入时请输入 aklfdk 等连续的字符 */
//------------------------------------------------------------------------//


#include<stdio.h>
int main(void)
{
    char str[11];
    int i;

    for(i = 0; i < 10; i++)    /* 读入10个字符 */
        scanf("%c", &str[i]);

    str[i] = '\0';            /* 添加字符串结尾标志 */

    printf("%s", str);    /* 输出字符串         */
    return 0;
}

[[italic] 本帖最后由 cosdos 于 2007-12-4 14:38 编辑 [/italic]]

—>〉Sun〈<—
2007-12-04 01:09
C语言的深度
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:卡特的怀抱
等 级:版主
威 望:1
帖 子:9577
专家分:19
注 册:2007-10-22
收藏
得分:0 
LS的正解

用代码打出楼房...用编程编出幸福...
2007-12-04 09:26
wtyj112
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2007-5-9
收藏
得分:0 
回复 8# 的帖子
你和6楼都修改成了我的原代码

但是你的解法偏离我的初衷 而且 似乎你的帖子没有贴近我提出的问题本质

所以8楼是正解
也谢谢你 扩展了我的思路 加深了对scanf的理解

计算机之路是痛苦并快乐着的!!
2007-12-04 10:56
快速回复:奇怪而基础的问题 请教大家
数据加载中...
 
   



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

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