#include <stdio.h>
#include <string.h>
int main()
{
int a,b,i,c;
char *s;
char d[]="伟大的少爷";
printf("听说今天是肥恩君的生日,于是我这个简单的小程序就为那个不要脸的混蛋诞生了!请输入“伟大的少爷”五个字按回车键以继续程序\n");
scanf("%s",s);
if(strcmp(s,d)==0)
{
printf("想把程序进行下去,请输入通行码(你的体重/kg):\n");
scanf("%d",&a);
if(a<50)
{
(后面省略)
求高手尽快解决。她要生日了谢谢跪谢。刚刚大一不久,还没真正开始学C语言,所以很多不懂
就是这种情况
s没æåé 空é´,导è´éæéé误.
æ¹æ
#include <stdio.h>发了补充了。你看看
什么意思,我最后一个就是scanf啊
哇哇哇你好厉害,真的可以了。能告诉我为什么吗
追答你原来的用法,并未给指针分配内存,char s[50]表明分配了50个字节空间给s
追问我原来的用法默认给多少空间给s?那么d呢?为什么d就可以“伟大的少爷”这五个中文字符
追答指针用法跟数组的区别;
指针没分配,你就不知道他指向什么地方,那在对他间接访问就会出错;
而数组他的首地址就是伟字的地址。
建议你看下《C和指针》详细介绍数组,与指针用法
先看下这篇文档吧http://wenku.baidu.com/view/3be61f8984868762caaed5a5.html
谢谢你的指点
本回答被提问者采纳