当前位置:   article > 正文

printf("%s",str); 与puts(str); 的区别_printf("%s",str1);

printf("%s",str1);

printf("%s",str); 与puts(str); 的区别

int main()
{
 FILE *fp;
 char str[10];
 int i;

 if((fp=fopen("test4.txt","rt"))==NULL)
     {
       printf("Cannot open file!\n");
       getch();
       exit(1);                                 
     }
 printf("Please input a string:\n"); 
 while(fgets(str,10, fp))
   {

          (1)
      ————————————     

   }
 fclose(fp);
 system("pause");
  return 0;
}

 

如果(1)处为printf("%s",str);,运行结果为

 

Please input a string:
aaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbb
ccccccccccccccccc
ddddddddddddddddddd

Press any key to continue . . .

 

如果(1)处为puts(str);,运行结果为

Please input a string:
aaaaaaaaa
aaaaaaaaa
a

bbbbbbbbb
bbbbbbbbb
bb

ccccccccc
cccccccc

ddddddddd
ddddddddd
d

 

Press any key to continue . . .

原因:使用fgets()函数从文件中读取字符串时,换行符“\n”也将保存在字符串中,使用puts()函数输出字符串时,把字符串输出完毕后还将输出一个换行符;而printf()函数的“%s”格式字符不会自动输出换行符。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/347411
推荐阅读
相关标签
  

闽ICP备14008679号