C语言scanf函数的调用问题


#include <stdio.h>
int main()
{    int a;
    int b;
    char c;
    scanf("%d\n,%d\n",&a,&b);
    scanf("%d\n",&c);
    printf("%d,%d,%c",a,b,c);
    return a,b,c;
}

———————以下为编译结果———————

555
123

555,0,{
--------------------------------
Process exited after 7.498 seconds with return value 123
请按任意键继续. . .


---------------分割线--------------------------

我想问下,为什么会这样呢?语法都是对的吧?那为什么只有“a“才编译正确,其他两个都编译错误了。求老师同学指错!!

qq_曦正_0
浏览 1515回答 4
4回答

努力提升

你是在你自己的编译器上运行的吗?

努力提升

scanf("%d\n",&c);这个写法是不会报错的,会输出字符的ASC码,只不过和你的想要的输出结果是不同的。

努力提升

因为return 后面只能返回一个值,他又不是输出语句,你这个写法是错误的;scanf("%d\n",&c);这个也写错了%c
打开App,查看更多内容
随时随地看视频慕课网APP