‘壹’ c语言——高手请进
太牛的程序了
++1你仔细找一下,你的程序中有一个++1的地方,这里有问题,不能对常量使用自加运算符,所以错了。
for(scanf("%d", &s);*a-s;v=a[j*=v]-a[i],k=i<s,j+=
(v=j<s&&(!k&&!!printf(2+"\n\n%c"-(!l<<!j)," #Q"[l^v?(
l^j)&1:2])&&++1||a[i]<s&&v&&v-i+j&&v+i-j&&v+i-j))&&!( //在这一行
l%=s),v||(i==j?a[i+=k]=0:++a[i])>=s*k&&++a[--i])
‘贰’ C语言高手请进!
strchr(查找字符串中第一个出现的指定字符)
相关函数
index,memchr,rinex,strbrk,strsep,strspn,strstr,strtok
表头文件
#include<string.h>
定义函数
char * strchr (const char *s,int c);
函数说明
strchr()用来找出参数s字符串中第一个出现的参数c地址,然后将该字符出现的地址返回。
返回值
如果找到指定的字符则返回该字符所在地址,否则返回0。
范例
#include<string.h>
main()
{
char *s="";
char *p;
p=strchr(s,'5');
printf("%s\n",p);
}
执行
56789012345678901234567890
strstr(在一字符串中查找指定的字符串)
相关函数
index,memchr,rindex,strchr,strpbrk,strsep,strspn,strtok
表头文件
#include<string.h>
定义函数
char *strstr(const char *haystack,const char *needle);
函数说明
strstr()会从字符串haystack 中搜寻字符串needle,并将第一次出现的地址返回。
返回值
返回指定字符串第一次出现的地址,否则返回0。
范例
#include<string.h>
main()
{
char * s="";
char *p;
p= strstr(s,"901");
printf("%s\n",p);
}
执行
901234567890123456789
‘叁’ c语言高手请进
#include <stdio.h>
int main()
{
int i,j,k;
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
for(k=0;k<9;k++)
{
if((i+j+k)<10 && i!=0)
printf("%d%d%d ",i,j,k);
}
}
}
return 0;
} 都类似的,只要改改if里的条件就可以了...q币啊..
‘肆’ C语言高手请进! 急~~
if(i=j)
//相当于i=j=20
非零就是真的所以会输出good
再循环一次时if里面就变成了i=j=0
假就数else那句话
要记得c语言中非零就是真的
所以结果就那样了
‘伍’ C语言高手请进
因为a[4][3]是二维数组 所以a其实相当于二重指针 也就是指向另一个指针的指针
像这样考试题是有技巧的 *是取一次值 []也相当于取指针的值
因为是二维数组 所以有二次*或[] 就能取到数组元素
所以:
A里a[i]+j是错的
B里ptr[i]+j是错的
C里*(ptr+i)是错的
D里都是对的
当然这只是考试 如果你想学好指针 就要理解好指针和数组的原理
*(ptr+i)相当于ptr[i]
*(*(ptr+i)+j)相当于ptr[i][j]