字符指针的问题 求解~~~
#include <stdio.h>#include <math.h>
#include <string.h>
void main()
{
int hg(char *q);
char a[30],*q;
int i;
q=a;
q="34hdjhf832djnds";
for(;*q!='\0';q++)
printf("%c",*q);
printf("\n");
for(i=0;a[i]!='\0';i++)
printf("%c",a[i]);
}
q的起始地址不是等于a的起始地址吗,为什么用下标不能输出值来。
但是用scanf输入后却可以,为什么?
#include <stdio.h>
#include <math.h>
#include <string.h>
void main()
{
int hg(char *q);
char a[30],*q;
int i;
q=a;
scanf("%s",q);
for(;*q!='\0';q++)
printf("%c",*q);
printf("\n");
for(i=0;a[i]!='\0';i++)
printf("%c",a[i]);
}