生如夏花133 发表于 2019-9-16 20:43:47

scanf函数2

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
main()
{
        int i, j = 20,sum=0;
        scanf("输入一个数:%d", &j);
        printf("%d\n",j);
}

在visual studio2017中运行
cmd窗口并未显示“输入一个数”
尝试输入30,但是得到的结果是20
请问造成这个的原因是什么?

人造人 发表于 2019-9-16 22:06:51

是谁告诉你这样用scanf函数的?
https://fishc.com.cn/forum.php?mod=viewthread&tid=67391&extra=page%3D1%26filter%3Dtypeid%26typeid%3D583

bin554385863 发表于 2019-9-16 22:21:03

你可以自己写一个函数
#include <cstdio>
#include <cstdarg>
void myScanf(const char *c, int *t)
{
    printf("%s\n", c);
    scanf("%d", t);
}

int main(int argc, char const *argv[])
{
    int a;
    myScanf("请输入一个数字", &a);
    printf("%d", a);
    return 0;
}
-----------------------------------------------------------------------------------
Microsoft Windows [版本 10.0.16299.1087]
(c) 2017 Microsoft Corporation。保留所有权利。

E:\Users\86184\Documents\Code>c:\Users\86184\.vscode\extensions\ms-vscode.cpptools-0.25.1\debugAdapters\bin\WindowsDebugLauncher.exe --stdin=Microsoft-MIEngine-In-pi3yvwne.zod --stdout=Microsoft-MIEngine-Out-gcmfj3y2.ypx --stderr=Microsoft-MIEngine-Error-foibidtf.bjs --pid=Microsoft-MIEngine-Pid-uxhsgjwr.z3t "--dbgExe=E:\My Program\MinGW\bin\gdb.exe" --interpreter=mi
请输入一个数字
32
32
E:\Users\86184\Documents\Code>

生如夏花133 发表于 2019-9-17 10:06:03

bin554385863 发表于 2019-9-16 22:21
你可以自己写一个函数

---------------------------------------------------------------------------- ...

刚入门,有点难理解{:5_100:}

生如夏花133 发表于 2019-9-17 10:11:11

人造人 发表于 2019-9-16 22:06
是谁告诉你这样用scanf函数的?
https://fishc.com.cn/forum.php?mod=viewthread&tid=67391&extra=page%3D ...

我好像明白,谢谢您!
我将printf和scanf函数互相有点混淆了,scanf函数内部应该是不能写“请输入一个数”之类的字符串
页: [1]
查看完整版本: scanf函数2