我是C语言的新手。下面发生了什么?输出只是" u"
#include<stdio.h>
void main()
{
printf("%c\n",'pasundu');
}
答案 0 :(得分:1)
您将 @Override
public void onDetach() {
try {
Field childFragmentManager = android.app.Fragment.class.getDeclaredField("mChildFragmentManager");
childFragmentManager.setAccessible(true);
childFragmentManager.set(this, null);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
super.onDetach();
}
放在%c
语句中,告诉编译器您要打印单个字符。
你还在字符序列printf
周围使用单引号'
- 你在这里有一个多字符文字。多字符文字具有实现定义的值 - 在这种情况下,编译器看起来正在使用文字中的最后一个字符。
要解决此问题,我假设您要将pasundu
显示为字符串:
pasundu
请注意,我还更改了#include <stdio.h>
int main()
{
printf("%s\n","pasundu");
}
的返回类型,因为允许void,但不要求所有编译器都支持。