**关闭。**这个问题是not reproducible or was caused by typos。目前不接受答复。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
6天前关闭。
Improve this question
我不得不打印字符串,但它只是显示错误;/
这是我的代码:
#include <stdio.h>
int main(){
char str[] = "Harry";
char *ptr = str;
while(*ptr != '\0'){
printf('%c', *ptr);
ptr++;
}
return 0;
}
我试着打印The String As Harry,它显示了这个:
Strings.c: In function 'main':
Strings.c:9:16: warning: multi-character character constant [-Wmultichar]
printf('%c', *ptr);
In file included from Strings.c:1:0:
c:\mingw\include\stdio.h:454:38: note: expected 'const char *' but argument is of type 'int'
_CRTIMP __cdecl __MINGW_NOTHROW int printf (const char *, ...);
^~~~~~
1条答案
按热度按时间yvfmudvl1#
printf()
需要的格式字符串与"%c"
一样,但您传入了一个(无效的)整数常量'%c'
。我也简化了你的代码:在这种情况下,您可以只执行
char *ptr = "Harry"
,但通常这意味着您不再拥有指向原始字符串的指针。