首页 > 其他分享 >C语言中的printf和sprintf的用法及区别

C语言中的printf和sprintf的用法及区别

时间:2024-03-21 21:24:00浏览次数:23  
标签:输出 格式化 int C语言 sprintf printf

sprintf函数是C语言中用于格式化输出到字符串的函数。它的原型如下:

int sprintf( char *buffer, const char *format, [ argument] … );

  • str:指向存储输出结果的字符数组的指针。
  • format:格式化字符串,包含要输出的文本和格式说明符。
  • [argument]:可变参数列表,用于提供要插入格式化字符串中的值。

sprintf函数的工作方式类似于printf,但它将格式化后的结果输出到指定的字符串中,而不是标准输出流。它会根据格式说明符将数据格式化成字符串,并将结果存储在str指向的字符数组中。

例如,下面是sprintf的一个简单用法:

#include <stdio.h>

int main() {
    char buffer[50];
    int num = 42;
    float f = 3.14;

    sprintf(buffer, "The answer is %d and the value of pi is %.2f", num, f);
    printf("Formatted string: %s\n", buffer);

    return 0;
}

这段代码最终输出:
The answer is 42 and the value of pi is 3.14

 

// ------------------------分 隔 符------------------------

 

printf是C语言中用于格式化输出到标准输出流(通常是屏幕)的函数。其原型如下:

int printf(const char *format, ...);

  • format:格式化字符串,包含要输出的文本和格式说明符。
  • ...:可变参数列表,用于提供要插入格式化字符串中的值`printf。

例如,下面是printf的一个简单用法:

#include <stdio.h>
 
int main ()
{
   int ch;
 
   for( ch = 75 ; ch <= 100; ch++ ) {
      printf("ASCII 值 = %d, 字符 = %c\n", ch , ch );
   }
 
   return(0);
}

 

// ------------------------分 隔 符------------------------

 

Q:标准输出流是什么意思?

A:在C语言中,标准输出流是指向标准输出设备(通常是屏幕)的输出流,即stdout。当我们使用printf函数时,输出的内容会被发送到标准输出流,最终显示在屏幕上。
sprintf函数与printf不同之处在于,sprintf将格式化后的结果输出到一个字符数组中,而不是发送到标准输出流。这意味着sprintf函数不会在屏幕上显示任何内容,而是将格式化后的结果存储在指定的字符数组中,以便后续处理或输出。

 

C语言常用输出格式字符说明,点击跳转

标签:输出,格式化,int,C语言,sprintf,printf
From: https://www.cnblogs.com/YYZYCS/p/18088259

相关文章

  • C语言常用格式字符
    %d或%i  有符号十进制整数%u  无符号十进制整数%ld  有符号长整型%c  字符%s  字符的字符串%f  十进制浮点数//------------------------分隔符------------------------%o  有符号八进制%x  无符号十六进制整数//--------------------......
  • 【C语言】模拟实现 atoi
    文章目录atoi()函数模拟实现思路分析代码呈现atoi()函数通过上述cplusplus和MSDN对atoi函数的介绍我们可以得出以下几个关键点库函数:<stdlib.h>形参:constchar*str返回值:int作用:atoi函数是将一个字符串转化成一个整型并忽视字符串中的字符举个例子/*atoi......
  • C语言——保留整数
    题目描述:输入一个字符串str1,把其中的连续非数字的字符子串换成一个,存入字符数组str2中,所有数字字符也必须依次存入str2中,输出str2。输入:输入为一行字符串str1​,其中可能包含空格。字符串长度不超过80个字符。$Ts!47&*s456a23*+B9k输出:输出处理好的字符串str2。*47*......
  • C语言数据在内存中的存续:一篇文章让你秒懂基础!
    JAMES别扣了-CSDN博客......
  • C语言(一级指针)
    指针本质:地址一级指针一级指针变量名:存储普通变量的地址格式:存储类型        数据类型        *指针变量名                                int                *pinta=5;int*p=&a;--------......
  • C语言 - 字符串截取
    1、字符串截取#include<stdio.h>#include<stdlib.h>#include<string.h>intmain(){charstr[80]="1001#8888#你好";constchars[2]="#";char*token;char*Array[10];/*获取第一个子字符串*/token=......
  • C语言字符串
    字符串由双引号引起来的一串字符称为字符串,例如“abcdef”,字符串的结束标志是\0,在计算字符串长度时\0是结束标志,不算做字符串内容。字符与字符串的程序监控intmain(){    chararr1[]="abcdef";    chararr2[]={'a','b','c','d','e','f'};    ......
  • 【C语言】求1-1/2+1/3-1/4+......-1/100
    用for循环,第二个数就为负数第三个负负为正依次推类。intmain(){ intsign=1; doublesum=0.0; intdeno=1; for(intdeno=1;deno<=100;deno++){ doubleterm=sign*(1.0/deno); sum+=term; sign=-sign; } printf("结果为:%f\n",sum)......
  • 判断是否为闰年?【C语言】
    感觉就for有些别扭。对了也可以用其他方法l#includ<stdio.h>intmain(){intyear=0;printf("请输入年份:%d\n",year);scanf("%d\n",&year);for(;(year%4==0&&year%100!=0)||year%400==0;){printf("%d:是闰年\n",year);}......
  • C语言之打鱼晒网问题
    目录一简介二代码实现步骤一:判断输入日期步骤二:计算总天数步骤三:判断行为模式三时空复杂度一简介打鱼晒网问题是一个经典的编程题目,源自中国的俗语“三天打鱼两天晒网”,意思是周期性地工作和休息。在C语言中实现这一问题的程序设计目标是:当给定一个日期后,计算......