我的程序输出为什么是(null)

我的程序输出为什么是(null),第1张

应该是一个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应用程序怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10080438.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存