问答详情
源自:4-1 分支结构之简单if语句

C语言的有关问题

为什么将%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;
}
的运行结果为
恭喜小明可以参加校篮球队

提问者:大导演 2018-05-07 22:11

个回答

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

    %s 字符串 
    %c 单个字符

    单个字符用' '括起来

    字符串用" ",

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

    其余问度娘

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

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