首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于puts()的用法 (急)!

2012-02-23 
求教:关于puts()的用法 (急)!!main(){char*p0while(*p!* ){printf( Pleaseentertextline: )gets(p)

求教:关于puts()的用法 (急)!!
main()
{
      char   *p   =   0;
      while(   *p   !=   '* ')
      {
            printf( "Please   enter   text   line: ");
            gets(p);
            while   (*p   !=   '\0 ')
            {  
                if   (*p> 96   &&   *p <127)
                  {*p-=32;}
                  p++;
              }
                  puts(*p);
                  p   =   NULL;
              }
            printf( "Have   a   nice   day ");
  }

想请问一下各位高手:
1)为什么我用printf( "%s ",   *p);或者   puts(p);   替换   puts(*p),会拿不到东西?
2)为什么我输入 "* "之后,还是会输出一个“*”之后才给我”Have   a   nice   day ",但是我用put(p),虽然没有任何输出,但是当我输入“*”时,却给我正确的“Have   a   nice   day ",并没有多输出一个“*”?
请大家指点一下!!谢谢!!          



[解决办法]
帮你改了

int main()
{
char sz[128];
char* p = sz;
while( *p != '* ')
{
printf( "Please enter text line: ");
gets(p);
while (*p != '\0 ')
{
if (*p> 96 && *p <127)
{*p-=32;}
p++;
}
p = sz;
puts(p);
}
printf( "Have a nice day ");

return 0;
}

[解决办法]
int main()
{
char sz[128];
char* p = sz;
while( *p != '* ')
{
printf( "Please enter text line: ");
gets(p);
if(*p == '* ')
break;
while (*p != '\0 ')
{
if (*p> 96 && *p <127)
{*p-=32;}
p++;
}
p = sz;
puts(p);
}
printf( "Have a nice day ");

return 0;
}
[解决办法]
#include <stdio.h>
int main()
{
char sz[128]={ '\0 '};
char* p = sz;
do{
if(*p!= '\0 ')
puts(p);
printf( "Please enter text line: ");
gets(p);
while (*p != '\0 ')
{
if (*p> 96 && *p <127)
*p-=32;
p++;
}
p = sz;
}while( *p != '* ');

printf( "Have a nice day ");

return 0;
}
[解决办法]
void main()
{
char *p;
char str[20];
p=str;
while(*p!= '* ')
{
printf( "Please enter text line: ");


gets(p);
while(*p!= '\0 ')
{
if (*p> 96 && *p <127)
*p-=32;
if(*p== '* ')
{
printf( "Have a nice day ");
getch();
exit(0);
}
p++;
}
puts(str);
p=str;
}
}

热点排行