首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这个有关问题不简单

2012-03-09 
这个问题不简单!#include stdio.hint main(){int str[4]{1,2,3,4}printf(%d,str)}输出:168

这个问题不简单!
#include <stdio.h>
int main()
{
int str[4]={'1','2','3','4'};
printf("%d",str);
}
输出:168000
这个问题不简单啊!
#include <stdio.h>
int main()
{
  char str[4]={'L''O''V''E'};
  printf("%s",str);
}
输出:LOVE?!
这个问题不简单啊!
呵呵,就是请教一下前辈们,这些问题都是怎么一回事啊?
小弟,菜鸟!

[解决办法]
int str[4]={'1','2','3','4'};
printf("%d",str);
 
这里输出的是str的地址;

char str[4]={'L''O''V''E'};
printf("%s",str);

这里输出的是字符串,直到遇到'\0'才认为该字符串结束。
[解决办法]
#include <stdio.h>
int main()
{
char str[4]={'L''O''V''E'};
printf("%s",str);
}
你这儿输出的是字符串,遇到'\0'截止,但是你定义的数组没有'\0',那后边就会随机输出东西
[解决办法]

探讨
#include <stdio.h>
int main()
{
int i=0;
int str[4]={'1','2','3','4'};
for(i=0;i<4;i++)
{
printf("%d\n",str[i]);
}
}
那这个程序为什么输出49 50 51 52啊?

热点排行
Bad Request.