s[i]表示数组元素,数组下标是从0开始的,一般会让i自增,实现数组的遍历。若if(s[i]!=0)就是判断你的当前数组元素的值是否为0
!在C语言中是逻辑语“非”,s[i]指数组s的第i+1个变量(数组下标从零算起),s[i]!不存在这样表达方式我觉得!后面应该有其他的语句,加!后表其相反运算如!=就是不等于
所以c[s[i]]就等于c[x],x为s[i],是个变量,只不过变成了数组。
s[i]!='\0'一般为创建一个字符串数组后,判断字符串是否输入完毕,常用在循环或者判断语句。C语言中,字符串可以赋值给字符指针变量,或者将字符串用字符数组保存。因为c语言没有直接对字符串提供语法方面的支持。而且C标准库很多方法处理字符串是以空字符结尾为前提的,这个必须要记住。
c[s[i]]举例来说,当i=0时,s[i]=s[0]=1,c[s[i]]=c[s[0]]=c[1]=0,其实就是先求s[x],在用其结果y求c[y]罢了
根据你说的这个,应该是MATLAB的代码 s是一个矩阵的话 s(1,1)表示s矩阵的第一行第一列的那个元素 s(i,i)表示s矩阵第i行第i列的元素 MATLAB的矩阵索引是从1开始的,注意这个和C语言的区别就行了 ,C数组索引是从0开始。
s是数组,a是构造类型变量的数据成员,s[i].a = n; 完成给数据成员赋值。b是构造类型变量的指真,s[i].b = &s[i].a; 将指针指向数据成员a。
i是一个整数,S[]是整数数组,C[]也是整数数组 S[i]是S数组中第i-1个元素值,则S[i]也是整数,所以C[S[i]]是数组C中第S[i] - 1 个元素值 最后C[S[i]]++是将C[S[i]]自增1,也即将C[S[i]]+1的值还存储在C[S[i]]中 ...
*(s+i)就是取s上第i个元素的值,等同于s[i]。'\0'为转义字符,其ascii码值为0,在C语言中,是约定的字符串结束符。!=代表逻辑不等于运算,当!=两侧值相等时,值为假,否则值为真。于是,这个表达式就是判断s上第i个元素是否为字符串结束符,如果是则表达式为假,否则表达式为真。
能看一下程序里s[ ..题目是这样的:已知一个英文单词,英文单词中只包含大写字母“A—Z”与小写字母“a—z”。你的任务是将英文单词翻译成密码文。翻译规则是把所有字母用它后面的第三个字母替换,并假设字符a接在字符z后面,字符