printf报错是什么原因

img

img


printf报错非法字节序列
怎么转换,
用左斜也解决不了
怎么办怎么办

字符集不匹配,改成utf8

https://blog.csdn.net/qq_46663243/article/details/124531566

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7624543
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:使用printf函数输出
  • 除此之外, 这篇博客: printf 详解 - 你所不知道的printf用法中的 ①直接输出字符串 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 输出格式 : printf("hello world!");

    printf输出字符串的方式有很多,在我们最开始学习C语言时,我们会输出"hello world!",这样的方式属于直接输出字符串。它是根据'h'的地址向后一个一个进行打印,直到遇到'\0'才会停止,而"hello world!'\0'"其实是有'\0'的,只是被隐藏了,在这里我就不细讲了,后面我会出一期字符串的相关知识进行解释。当然我们也不需要这么复杂的去这样记,这里是为第二种输出方式做铺垫的。

  • 以下回答由chatgpt基于相关博客总结生成:

    针对代码中出现printf报错,可能的原因有以下几种:

    1. 没有引入stdio.h头文件,需要在代码中添加 #include。
    2. printf函数的格式化字符串中可能存在不正确的格式说明符。
    3. printf函数的格式化字符串中可能存在计数参数(如%d中的数值),这些计数参数存储在栈上,可能会因为指针问题造成错误。
    4. 转义字符可能没有正确使用,导致错误。

    针对这些问题,解决方法分别为:

    1. 在代码的开头添加 #include 。
    2. 确认代码中使用的格式说明符是否正确,例如用 %d 来传递字符串等类型的变量会导致错误。
    3. 确认代码中的计数参数是否正确,例如是否正确传递指向整数的指针。
    4. 确认代码中的转义字符是否正确,例如 \n 用来代表换行。如果无法确定转义字符是否正确,可以尝试在字符串前加上 @ 符号,例如 printf(@"\n"); 进行输出。

    示例代码如下:

    include

    int main() { printf("Hello, world! \n"); return 0; }

printf 哪里估计是中文原因,你修改源文件的编码看看,改成utf-8 或 gbk
89和90行,语句最后缺少 分号 ;
90行scanf 输入参数有问题,要输入 4个数,你只有2个参数,%c 的参数还没有加&,第三个就光一个&