| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 934 人关注过本帖
标题:指针求教
只看楼主 加入收藏
yj2822263
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-12-2
收藏
 问题点数:0 回复次数:9 
指针求教
以下是我编的一个输入一个字符串和一个字符  输出该字符在字符串中的地址的指针型程序  可是怎么都执行不出来 编译没问题  还请大大指教
#include<stdio.h>
main()
{
   char ch,*p,b[10];
   printf("input\n");
    scanf("%s",b);
    printf("the word\n");
    scanf("%c",&ch);
    p=b;
    if(*p==ch)
      printf("%c\n",p);
      else p++;
}
搜索更多相关主题的帖子: 指针 
2007-12-06 11:20
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
if(*p==ch)
      printf("%c\n",p);
      else p++;

你以为这是什么```循环```??就算太阳变成水球都是错误的循环````
而且没有处理好键盘缓冲```你的程序连输入待查找字符的机会都不给你``

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-12-06 13:09
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
我修改了一下下````


#include<stdio.h>

int main ( void )
{
   char ch, b[10];  // 存放待查找字符和字符串
   char* p ;        // 便历整个字符串
   
   printf("input\n"); // 输入字符串
   scanf("%s",b);
  
   { int c; while( ( c=getchar() )!='\n'  &&   c!=EOF  ); }  // 清空缓冲
   
   printf("the word\n"); //输入待查找字符
   scanf("%c",&ch);

   { int c; while( ( c=getchar() )!='\n'  &&   c!=EOF  ); }  // 清空缓冲

   p=b;            
   
   while(*p)     
   {
     if(*p==ch)
     printf( "%d\n", p - b + 1 );   //输出位置
     ++p;
   }
   
   if ( ! *p )
   {  
      printf("Not found!");   // 没有找到的情况
      return 1 ;
   }
  
   return 0 ;   
}

[[italic] 本帖最后由 死了都要C 于 2007-12-6 13:32 编辑 [/italic]]

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-12-06 13:25
josen0205
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:307
专家分:52
注 册:2007-5-8
收藏
得分:0 
#include<stdio.h>
int main()
{
     char ch,*p,b[10];     
     printf("input:");
     scanf("%s",&b);
     fflush(stdin);
     printf("the char:");
     scanf("%c",&ch);
     fflush(stdin);     
     p=b;
     while(*p != '\0')
     {
          if(*p==ch)
               printf("The address of '%c' is %d\n",*p,p);
          p++;
     }
     return 0;
}

[[italic] 本帖最后由 josen0205 于 2007-12-6 13:27 编辑 [/italic]]

只有想不到,没有做不到
2007-12-06 13:26
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
LS`````你确信你的代码没问题吗`````
真的???

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-12-06 13:31
josen0205
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:307
专家分:52
注 册:2007-5-8
收藏
得分:0 
我在我的电脑试了,没有问题,当找不到输入的字符的时候,就什么都不输出。

只有想不到,没有做不到
2007-12-06 15:26
kidd2005
Rank: 1
等 级:新手上路
帖 子:193
专家分:0
注 册:2007-11-2
收藏
得分:0 
我试过,3L的不行,4L的行啊
fflush(stdin);
这个是什么啊??用来清空缓冲的啊??

潜心苦C,却发觉百C不得其解啊~
2007-12-07 16:42
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
用用这个程序
#include "stdio.h"

void main()
{
   char ch,*p,b[10];
   printf("input\n");        
   
   gets(b);
   printf("the word\n");
   scanf("%c",&ch);
   p=b;
   for(;*p!='\0';)
     if(*p==ch)
       {printf("%p\n",p);
        break;}
     else
         p++;
   
}
2007-12-08 00:23
zhanfeng
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-11-18
收藏
得分:0 
楼上的运行后是FFCE;what   is  the  meaning ?thank  you !!!
2007-12-08 11:11
kongxiangge22
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-12-3
收藏
得分:0 
二楼说的不错,这不是个循环,而且,好像应该这样吧最后一个printf应该是
printf("%c",*p);
2007-12-08 16:32
快速回复:指针求教
数据加载中...
 
   



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

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