比较急但应该很简单的问题大家帮下
char *p;
char *data="sid:(p=(\"yanngyu\"))&tltle:(p%(\"奥运\"|\"十七大\"))";
p=data;
我现在想让指针p=data的sid,
我这样写为什么程序会崩溃?
程序如下
*(p+3)=‘\0’; //这样做不行吗?
printf("%s",p);
[此贴子已经被作者于2007-8-20 10:31:26编辑过]
char *p;
char *data="sid:(p=(\"yanngyu\"))&tltle:(p%(\"奥运\"|\"十七大\"))";
p=data;
我现在想让指针p=data的sid,
我这样写为什么程序会崩溃?
程序如下
*(p+3)=‘\0’; //这样做不行吗?
printf("%s",p);
你是不是想让p去指向一个字符串,然后只输出该字符串中的前三个字符?
*(p+3)=‘\0’; //这样做不行吗? 这行代码没有错误
错在前面声明的*data了,看看这个
#include "stdio.h"
int main(void)
{
char s[80] = "sid:(p=(\"yanngyu\"))&tltle:(p%(\"奥运\"|\"十七大\"))";
char *p;
p = s;
*(p+3) = '\0';
printf("%s",p);
return 0;
}
这和LZ的问题有什么关系呀? 是不是说 不能用 char *p = "sli:" 来声明一个数组呀