为什么要这样定义呀?if (((int)p[i] = 97) || ((int)p[i] = 65) || ((int)
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/12 00:04:36
为什么要这样定义呀?
if (((int)p[i] = 97) || ((int)p[i] = 65) || ((int)p[i] = 48))
{
if (((int)p[i] = 97) || ((int)p[i] = 65) || ((int)p[i] = 48))
{
其实我是使用了一个比较笨的方法,高级的可能也有
我不会,然后这里是通过字符ASCII码与字符的对应
因为p数组接收的都是字符
所以前面使用强制转换,将其转换成ASCII来使用,如(int)p[i]
(int)p[i] = 97)表示p[i]不是 a-z
((int)p[i] = 65)表示p[i]不是 A-Z
((int)p[i] = 48)表示p[i]不是 0-9(注意这里的0-9是字符)
这句主要是挑选出既非字母字符也非数字字符的东西
以便删除
再问: 那字符串是怎么样的情况下才是对称啊?
再答: int flag = 1;//表示字符串是对称的 for (int s = 0; s < j/2; s++) if (((int)q[s] != (int)q[j-s]) && ((int)q[s] != ((int)q[j-s])+32)) flag = 0; if (flag == 0) printf("字符串不对称!\n"); else printf("字符串是对称!\n"); 给你说一下这一段语句吧 首先是定义了一个标识flag表示默认应该是对称的 然后从s=0开始比较的q[s] == q[j-s]这是说q[0]==q[Max],如果不相等就标识flag为0了(max表示数组最大下标),同时对于(int)q[s] != ((int)q[j-s])+32)是判断是否大写字母对应小写字母的,原理跟上面的解释一样,都是利用了字符的ASCII flag就描述了字符串不对称,如果两者相等,继续s增加1,在比较去q[1] == q[Max-1] 一直比较下去,知道结束最后在if中看flag的值若是1说明对称,若是0表示不对称
我不会,然后这里是通过字符ASCII码与字符的对应
因为p数组接收的都是字符
所以前面使用强制转换,将其转换成ASCII来使用,如(int)p[i]
(int)p[i] = 97)表示p[i]不是 a-z
((int)p[i] = 65)表示p[i]不是 A-Z
((int)p[i] = 48)表示p[i]不是 0-9(注意这里的0-9是字符)
这句主要是挑选出既非字母字符也非数字字符的东西
以便删除
再问: 那字符串是怎么样的情况下才是对称啊?
再答: int flag = 1;//表示字符串是对称的 for (int s = 0; s < j/2; s++) if (((int)q[s] != (int)q[j-s]) && ((int)q[s] != ((int)q[j-s])+32)) flag = 0; if (flag == 0) printf("字符串不对称!\n"); else printf("字符串是对称!\n"); 给你说一下这一段语句吧 首先是定义了一个标识flag表示默认应该是对称的 然后从s=0开始比较的q[s] == q[j-s]这是说q[0]==q[Max],如果不相等就标识flag为0了(max表示数组最大下标),同时对于(int)q[s] != ((int)q[j-s])+32)是判断是否大写字母对应小写字母的,原理跟上面的解释一样,都是利用了字符的ASCII flag就描述了字符串不对称,如果两者相等,继续s增加1,在比较去q[1] == q[Max-1] 一直比较下去,知道结束最后在if中看flag的值若是1说明对称,若是0表示不对称
为什么要这样定义呀?if (((int)p[i] = 97) || ((int)p[i] = 65) || ((int)
struct S { int i; int * p;}; main () {S s ; int *p =&s.i ; p
定义数组a[ ],为什么int *p=&a[0];等于int *p; p=&a[0];
#include #define M 20; void main() { int i,j,k,p,t,n=0; int
int a[5]; int *p=a; *(a+i)这个表示是正确的?
int a[12]={0},*p[3],**pp,i;
int i=4,
int gjs(int m,int n) { int p,t; if(m>n) {p=m; m=n; n=p; } wh
void p(int n) { if (n>1 &&n%2==1) p(n-1); printf(“%2d”,n); i
int i,j=2;*p=&i;*p=(*&j+1)^j; i=?
Int a=1; Int *p; p=&a; printf(“%d\n”,*p); 和Int a=1; Int*p; *
int a[3][4] ,(*p)[4] p=a; 为什么*(*(p+i)+j) (*(p+i))[j] p[i][j]