main ()
{ int *p,i;
char *q,ch;
p=&i;
q=&ch;
*p=40;
*p=*q;....
}
以下程序有错,错在哪
A p和q类型不一致,不能执行*p=*q
B q 虽然指向了具体的存储单元,但该单元中没有确定的值,
所以不能执行*p=*q
下面的程序段中,for循环的执行次数为什么是6次,\018不是一个整体吗
char *s="\ta\018bc";
for ( ; *s!='\0';s++)
printf ("*");
# include <stdio.h>
void main (){
char *p ="%d,a=%d,b=%d\n";
int a=111,b=10,c;
c=a%b;
p+=3;
printf (p,c,a,b);
}
不明白为什么结果不是1 ,a=111,b=10
这两个有什么不同
char str [10], *s ="abcde",strcat (str,st);
char str [10]=" ", *s ="abcde",strcat (str,st);
为什么错
# include <stdio.h>
void main (){
char s[6];
s="abcd";
printf ("\"%s\"\n",s);
}
我觉得学了指针以后好像什么都不懂似的,总觉得指针好麻烦,有时候是这样写有时候又不能,也许是刚学把他们都搞得乱乱的,你们都有这样的经历吗。
祝各位圣诞节快乐。