C语言 int num[2] = {0} 不能直接printf("%s", num)?为什么?

[复制链接]
查看11 | 回复5 | 2012-10-11 12:29:20 | 显示全部楼层 |阅读模式
首先你用错了 %s 是输出字符或者字符串 你定义的数组是 int型就要用 %d然后你可以写作int num[2]={0};//这是讲num[0],num[1],num[2]初始化为0,printf("%d",num);...
回复

使用道具 举报

千问 | 2012-10-11 12:29:20 | 显示全部楼层
你先定义了一个有两个元素的数组,给它都初始化为0了,然后你要输出它们,必须具体的指明你要输出的内容,比如printf("%d", num[0]);一般要输出数组用循环,比如for(int i=0;i<2;i++){
printf("%d", num);}...
回复

使用道具 举报

千问 | 2012-10-11 12:29:20 | 显示全部楼层
int num[2]={0};printf("%d",*num);楼上忘了输出的是第一个字母的地址了int num[2]={'0'};printf("%s",num);不过要告诉楼主的是在输出存在数组内的数,字符串时,一般就是用for(int i=0 ;i<n;i++ )printf("%d",zu);...
回复

使用道具 举报

千问 | 2012-10-11 12:29:20 | 显示全部楼层
可以用,只是建议不要这样用。printf("%s",num);将从num所在的地址开始逐个字节输出,直到遇到‘\0’才停止。比如int a[10] = {'dcba','\0gfe'};printf("%s",a);输出abcdefg...
回复

使用道具 举报

千问 | 2012-10-11 12:29:20 | 显示全部楼层
首先你用错了 %s 是输出字符或者字符串 你定义的数组是 int型就要用 %d然后你可以写作int num[2]={0};printf("%d",num);...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行