scanf里的东西会显示出来吗

比如我写的是scanf("a=%d b=%d",&a,b)
然后又写了一堆,在这个程序能运行的情况下,我开始运行之后屏幕上会显示a= b=这样子吗,那假如说里面写汉字可以吗,还是不会出现,必须在加上printf呢

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7579527
  • 除此之外, 这篇博客: 数据结构与C语言精髓(逐步完善)中的 例1:scanf("%d%d",&a,&b);//需要用&接收。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    1. 说明:该函数之所以用变量地址作参数,是由C语言中参数的单向传递规则决定的。
    2. %d表示十进制整数。
  • 以下回答由chatgpt基于相关博客总结生成:

    在使用scanf函数时,提示信息不会在屏幕上显示。scanf函数只负责接收用户输入的数据,不会在屏幕上显示任何提示信息。

    如果想在scanf函数中添加汉字提示信息,可以结合printf函数来实现。先使用printf函数打印需要的提示信息,然后再使用scanf函数接收用户输入的数据。这样可以在屏幕上显示汉字提示信息。

    具体代码如下所示:

    #include <stdio.h>
    
    int main() {
        int a, b;
    
        printf("请输入a的值: ");  // 打印汉字提示信息
        scanf("%d", &a);  // 使用scanf接收输入的整数
    
        printf("请输入b的值: ");  // 打印汉字提示信息
        scanf("%d", &b);  // 使用scanf接收输入的整数
    
        // 打印输入的两个整数的和
        printf("a + b = %d\n", a + b);
    
        return 0;
    }
    

    运行代码时,屏幕上会显示相应的汉字提示信息,并等待用户输入相应的整数。

scanf()里面的提示是不会出现的,里面的"a=%d b=%d"是需要输入中也有对应的字符来匹配才能正确获取输入中的数据;

如果要出现打印信息,需要使用printf来打印,然后在后面使用scanf()来获取输入。

测试代码如下:

参考链接:



#include <stdio.h>
#include <stdlib.h>

int main(void){
    
    int a,b;
    printf("a=");  // 打印提示信息 
// https://baike.baidu.com/item/scanf/10773316
    scanf("%d",&a);  // 从输入获取一个整数,存入变量a中 
    printf("\n");
    printf("b=");   //  打印提示信息 
    scanf("%d",&b);  // 从输入获取一个整数,存入 变量b中 
    printf("第一次获取输入,a=%d, b=%d\n\n",a,b);      // 打印第一次输入的结果 
    
    fflush(stdin);   // 清空缓冲区 
    scanf("a=%d b=%d",&a,&b);  // 从输入以指定的格式获取两个整数,分别存入变量a和b中 
    printf("第二次获取输入,a=%d, b=%d\n",a,b);      // 打印第二次输入的结果 
    
    return 0; 
    
} 

img

scanf 是输入,格式化字符串里的内容,是需要你自己输入的,你需要输入 a = 1 b = 2 类似这样
printf 是打印输出,这个才会打印,你可以自己试试

scanf("a=%d b=%d",&a,b) ; 这样写,不会在屏幕上显示a= b= ,如需显示提示,应该用printf("a="); scanf("%d", &a); printf("b=");scanf("%d", &b);四句组合才能达到效果。