c语言中,printfsx i当i取1是怎么输出

2021-02-27 16:26:24 字数 1323 阅读 2016

1楼:wing辉

亲,你这样写是会报错的,因为你的占位符就一个,你的取地址符却是两个。

2楼:寂默有时

x[i][i]存的什么东西?

从x[1][1]一直输出直到碰见0为止

c语言中,printf函数如何处理%s?

3楼:yx陈子昂

c语言中,printf函数处理%s的函数原型

如下:case 's':

s = va_arg(args, char *);

if (!s) s = "";

len = strnlen(s, precision);

if (!(flags & left)) while (len < field_width--) *str++ = ' ';

for (i = 0; i < len; ++i) *str++ = *s++;

while (len < field_width--) *str++ = ' ';

continue;

首先判断打印字符串是否为专空属,如果为空,则填充"",然后把打印内容拷贝到打印缓存区内。

4楼:匿名用户

'\0'是字符串的结

bai尾标志,占一字du节,值为0。zhiprintf("%s",arr)语句指定了字符串的开始地址daoarr,函数向后逐字

内节寻找值为容0的字节,找到后把之间的字节按字符解释并输出。

你给出的情况,先输出abc,后面输出什么,要看内存的实际情况,可能什么也不输出,也可能输出一些乱码。

5楼:可可阿文

c编译器自动处理的,这个你不用担心,如果你定义的四个字符串数组,它就自己默认,如果定义的是字符数组就没有\0这一说了

6楼:匿名用户

这种情况如果你直接用printf("%s", arr);打印出来会出现内存泄漏,不应该那样写。你就用下面的方法实现:

for(i = 0; i < 3; i++)

7楼:我是不是师兄

会从bai数组arr的首地址开始du

一个字节一个字节的zhi读取并输出 一直到内存dao中某个字节为内0才停止

所以有容时候 会输出乱码 因为这个字节里面是存储什么都有可能 有时候会弹出 某地址不可读

那是操作系统的内存保护机制 已经到一些没读取权限的内存 指针狂飙 就是这下场

你可以在非调试模式下 运行一下** 看看情况

8楼:回忆

%s是输出以arr为首地址的一串字符!

c语言for(i 0,j 10 ij,i-j ij中ij是什么意思

1楼 匿名用户 for 循环中间的语句是循环结束的条件 是个bool值,true和false i逗号表达式 就是逗号分隔的若干个表达式,逗号表达式最后的结果是 最后一个表达式的值 也就是i j的值 c语言中 非0为真,0为假 也就是i j 为0整个循环就结束了 2楼 匿名用户 判断循环是否结束的条件...

c语言中int a 1,b 2,c c 1.0 b a输出结果为什么

1楼 匿名用户 结果是c的值是0 因为1 0 b 都会转换位浮点型,结果是0 5 0 5 a 也是会把a转为浮点型,结果是0 5 而c是整形,会对右边运算的结果取整,所结果就是0了。 假如 int a 1 b 2 c 3 表达式a b c的值是1还是0 为什么? 2楼 岔路程序缘 在c语言中,1代表...

符号在c语言中表示单一I O口和异或运算是怎样区分的

1楼 晨曦月殇 这个是这样区分的啊 你表示io口时是这样的 sbit p10 p1 0 是吧 有sbit呢 你玩抑或运算时一般是这样的 int xx 0xaf int yy 0xdf int cc xx yy 很明显吧,异或运算两边一般是变量。 当然 还有这种情况 int cc p10 0xff 这...