| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 731 人关注过本帖
标题:指针读取字符串
只看楼主 加入收藏
jrkaho
Rank: 2
等 级:论坛游民
帖 子:24
专家分:55
注 册:2010-3-13
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:4 
指针读取字符串

用来每次从键盘上读入一个字符串,并将读入的字符串显示出来。当读入的字符串是“done”时停止程序的执行。
#include <string.h>
int main( )
{
  char s[50] , *p=s ;
  do {
       gets ( p ) ;
       while ( *p )
           printf ( "%c" , *p++ ) ;
     } while ( strcmp( s , "done" ) ) ;
   
  return 0;   
}

各位帮忙看看这个程序哪里错了?
搜索更多相关主题的帖子: 指针 字符 
2010-04-06 01:11
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:3 
在gets(p)前加一句p = s;
收到的鲜花
  • jrkaho2010-04-06 12:24 送鲜花  2朵  
2010-04-06 01:21
寻找南方
Rank: 2
等 级:论坛游民
帖 子:57
专家分:75
注 册:2009-10-21
收藏
得分:2 
就如楼上所说的,在get(p)之前要对p进行重新赋值,因为循环中的p指已经不是s数组的首地址!!

#include <string.h>
#include <stdio.h>
int main()
{
  char s[50],*p=s;
  do{
      p=s;
       gets(p) ;
       while(*p)
           printf ("%c",*p++);
     }while(strcmp(s,"done"));   
  return 0;   
}

我一路向前~~~~~~~~~~~~~
2010-04-06 01:40
woodydongli
Rank: 2
等 级:论坛游民
帖 子:57
专家分:84
注 册:2010-4-4
收藏
得分:0 
以下是引用jrkaho在2010-4-6 01:11:20的发言:


用来每次从键盘上读入一个字符串,并将读入的字符串显示出来。当读入的字符串是“done”时停止程序的执行。
#include
int main( )
{
  char s[50] , *p=s ;
  do {
       gets ( p ) ;
       while ( *p )
           printf ( "%c" , *p++ ) ;
     } while ( strcmp( s , "done" ) ) ;
   
  return 0;   
}

各位帮忙看看这个程序哪里错了?
感觉应该不是正确的.
2010-04-06 10:32
woodydongli
Rank: 2
等 级:论坛游民
帖 子:57
专家分:84
注 册:2010-4-4
收藏
得分:0 
#include <string.h>
#include <stdio.h>
 int main()
{
 char str[50],*p;
 p=str;
 gets(p);
 while(strcmp(p,"done")!=0)
 {
  puts(p);
  p=str;
  gets(p);
 }

 return 0;
}
不一定正确,我试试看.
2010-04-06 10:35
快速回复:指针读取字符串
数据加载中...
 
   



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

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