应该是一个null,一个aa的输出值,我将你的代码考到eclipse运行了一下,你的static的chuju没有给他赋值所以显示null ,person当中的值aa是赋值了用systemoutprintln输出出来了,建议你去看一下debug运行,打断点这样可以跟踪到运行的顺序,如果是初学者建议去看java基础的那本书,继承和结构方法的运行方式,另外加一下static关键字的理解。希望对你有帮助。
用来表示空指针。
在C中,变量可以是任何值
但一个非法的指针值,会导致访问出错,程序崩溃,或者出现不可预知后果。
所以 需要一个值,标记这个指针是非法的
NULL的值为0,在计算机中,是不可能访问0地址的。
所以用NULL表示这个指针还没有被赋值。
比如
if(s!=NULL) s=
这样赋值就更安全。
null不是有效的win32应用程序是设置错误造成的,解决方法为:
1、右击要打开的文件,如下。
2、我们点击属性,如下。
3、点击更改,如下。
4、找到office2010安装的路径,如下。
5、我们找到适合的exe文件,如下。
6、我们选定后再点击“打开”,如下。
7、再点击“确定”,然后我们再双击要打开的文件就可以打开了。
1
你这个程序的功能是用来将两个字符串合并起来
并实现输出。
2
你程序前面的合并都对,在输出的地方,出错了错误如下:
//printf("%s\n",str[i+j]);
//原来出错的地方
printf("%s\n",str);
//改正后的地方
3
下面是修改后的程序,已经可以输出链接后的字符串了。
方法
#include<stdioh>
void
main()
{
char
str1[50],str2[50],str[50];
int
i,j;
printf("input
str1:\n");
scanf("%s",str1);
printf("input
str2:\n");
scanf("%s",str2);
for(i=0;str1[i]!='\0';i++)
{
str[i]=str1[i];
}
for(j=0;str2[j]!='\0';j++)
{
str[i+j]=str2[j];
}
str[i+j]='\0';
//printf("%s\n",str[i+j]);
//原来出错的地方
printf("%s\n",str);
//改正后的地方
}
运行结果如下图:
是空指针,指向地址为0的内存,在用法上,常用来表示不存在,
例:if((fp=fopen("stu","rb"))==NULL)
exit(0);
解析:如果打开的这个名为stu的文件不存在,就退出程序;
以上就是关于我的程序输出为什么是(null)全部的内容,包括:我的程序输出为什么是(null)、在C语言程序中,NULL指针常量的作用是什么、null不是有效的win32应用程序怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)