| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 621 人关注过本帖
标题:请教各位大师,怎么结果不对,我想了一个晚上也没想明白,初学者请教各位大师了 ...
只看楼主 加入收藏
lzlz1111
Rank: 2
等 级:论坛游民
帖 子:19
专家分:54
注 册:2015-3-13
结帖率:0
收藏
已结贴  问题点数:20 回复次数:10 
请教各位大师,怎么结果不对,我想了一个晚上也没想明白,初学者请教各位大师了!
#include <iostream>
 
int main()
{
char a[20],*p;
int i=0;

p=a;

while(*p!='\0')
{
    scanf("%c",p++);
}

p=a;

while(*p!='\0')
{
    printf("%c",*p++);
}

return 0;
}
搜索更多相关主题的帖子: include return 
2015-03-13 23:16
lzlz1111
Rank: 2
等 级:论坛游民
帖 子:19
专家分:54
注 册:2015-3-13
收藏
得分:0 
程序功能就是输入一串字符串,然后用指针输出,但输出总是只有一个字母
2015-03-13 23:16
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:7 
不知道你看的是什么书 你写的这个代码是【四不像】 引的头文件是C++的 代码却是C语言的 要知道C和C++可是两种语言

程序代码:
#include <stdio.h>

int main(void)
{
    char str[32];
    char *p = str;
    scanf("%30s", str);
    while (*p != '\0')
        putchar(*p++);
   
    return 0;
}

2015-03-14 00:01
lzlz1111
Rank: 2
等 级:论坛游民
帖 子:19
专家分:54
注 册:2015-3-13
收藏
得分:0 
头文件怎么改?主体有问题吗?求教ZKLHP
2015-03-14 00:04
lzlz1111
Rank: 2
等 级:论坛游民
帖 子:19
专家分:54
注 册:2015-3-13
收藏
得分:0 
我就是不想用字符操作函数输出能行吗? 膜拜了!
2015-03-14 00:06
lzlz1111
Rank: 2
等 级:论坛游民
帖 子:19
专家分:54
注 册:2015-3-13
收藏
得分:0 
我把头文件改为stdio.h,运行后结果依然是一个字母,比如说我输入study,输出就一个s,真是不懂,按道理应该是study吧
2015-03-14 00:16
lzlz1111
Rank: 2
等 级:论坛游民
帖 子:19
专家分:54
注 册:2015-3-13
收藏
得分:0 
谢谢楼主,已解决;
输入时不用循环,直接输入字符串就ok;
非常感谢!
2015-03-14 00:25
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
除了头文件 你这里也不对 所以我直接给你写了一个而不是在你这个基础上改:很多时候重写一个好的比改容易的多

while(*p!='\0')
{
    scanf("%c",p++);
}

这里有两个问题 一个是 p指向了a这个数组 但a这个数组未初始化 所以比较是无意义的 第二呢 你这里用这种方法输入很不好 因为用户输入about的时候要

a
回车
b
回车
o
回车
u
回车
t
回车

懂了罢 所以我不在你的基础上改
2015-03-14 00:29
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:7 
以下是引用lzlz1111在2015-3-14 00:25:56的发言:

谢谢楼主,已解决;
输入时不用循环,直接输入字符串就ok;
非常感谢!
结帖
2015-03-14 08:14
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:7 
回复 楼主 lzlz1111
程序代码:
#include <stdio.h>
#define N 10

int main(void) {
    char a[N + 1] = {0}, *p;

    for(p = a; p < &a[N]; p++)
        *p = getchar();

    *p = '\0';

    for(p = a; *p != '\0'; p++)
        puts(p);

    return 0;
}

Only the Code Tells the Truth             K.I.S.S
2015-03-14 09:14
快速回复:请教各位大师,怎么结果不对,我想了一个晚上也没想明白,初学者请教各位 ...
数据加载中...
 
   



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

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