C语言的有关问题

来源:4-1 分支结构之简单if语句

大导演

2018-05-07 22:11

为什么将%c换成%s运行结果会产生这样的区别
#include <stdio.h>
int main()
{      
    int height = 185;
    //补全所有代码
if(height>=180)   
{   
printf("%c\n","恭喜小明可以参加校篮球队");  
}   
 return 0;
}
的运行结果为
hello.c: In function 'main':
hello.c:8:10: warning: format '%c' expects argument of type 'int', but argument 2 has type 'char *' [-Wformat=]
 printf("%c\n","恭喜小明可以参加校篮球队");
 

 
但是
#include <stdio.h>
int main()
{      
    int height = 185;
    //补全所有代码
if(height>=180)   
{   
printf("%s\n","恭喜小明可以参加校篮球队");  
}   
 return 0;
}
的运行结果为
恭喜小明可以参加校篮球队

写回答 关注

2回答

  • 小峰k
    2018-05-07 23:15:13
    已采纳

    %s 字符串 
    %c 单个字符

    单个字符用' '括起来

    字符串用" ",

    并且%c是指单个的字母或者数字,例如a,1;

    其余问度娘

    大导演

    thanks for you

    2018-05-07 23:26:43

    共 1 条回复 >

  • qq_锦瑟_8
    2018-05-07 22:55:10

    因为%c格式对应的是单个字符,而%s格式对应的是一行字符串   这里要输出的是一行字符串 所以用%s 如果用%d则会输出错误  希望可以帮到你

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题