0 c int printf char compiler-warnings
我正在学习C,并且一直在尝试创建一个接受用户输入的程序,并删除其中的任何双重空格,然后再将其打印出来.我们还没有完成数组,所以我需要通过char来做这个char.这是我的代码:
#include <stdio.h>
main()
{
char c;
int count;
count = 0;
while ((c = getchar()) != '\n')
if (c == ' ')
count++;
if (c != ' ')
count = 0;
if (count <= 0)
printf("%s", c);
}
Run Code Online (Sandbox Code Playgroud)
但是,此代码不起作用.编译器返回错误
:15: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’
Run Code Online (Sandbox Code Playgroud)
有帮助吗?我不知道我做错了什么.
使用%c
格式说明符打印单个char
printf("%c", c);
Run Code Online (Sandbox Code Playgroud)
该%s
格式说明告诉printf
期望的空终止字符阵列(也叫做字符串).
错误消息指的是由于传递给的参数的默认提升(超出格式字符串)而c
具有的类型. 之前的答案对默认促销有很好的描述; 此前一个主题解释了为什么需要进行默认促销的一些原因.int
printf
归档时间: |
|
查看次数: |
165 次 |
最近记录: |