指针求教
以下是我编的一个输入一个字符串和一个字符 输出该字符在字符串中的地址的指针型程序 可是怎么都执行不出来 编译没问题 还请大大指教#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++;
}
搜索更多相关的解决方案:
指针
----------------解决方案--------------------------------------------------------
if(*p==ch)
printf("%c\n",p);
else p++;
你以为这是什么```循环```??就算太阳变成水球都是错误的循环````
而且没有处理好键盘缓冲```你的程序连输入待查找字符的机会都不给你``
----------------解决方案--------------------------------------------------------
我修改了一下下````
#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]]
----------------解决方案--------------------------------------------------------
#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]]
----------------解决方案--------------------------------------------------------
LS`````你确信你的代码没问题吗`````
真的???
----------------解决方案--------------------------------------------------------
我在我的电脑试了,没有问题,当找不到输入的字符的时候,就什么都不输出。
----------------解决方案--------------------------------------------------------
我试过,3L的不行,4L的行啊
fflush(stdin);
这个是什么啊??用来清空缓冲的啊??
----------------解决方案--------------------------------------------------------
用用这个程序
#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++;
}
----------------解决方案--------------------------------------------------------
楼上的运行后是FFCE;what is the meaning ?thank you !!!
----------------解决方案--------------------------------------------------------
二楼说的不错,这不是个循环,而且,好像应该这样吧最后一个printf应该是
printf("%c",*p);
----------------解决方案--------------------------------------------------------