干洗机型号:C语言指针问题。

来源:百度文库 编辑:高考问答 时间:2024/04/27 01:39:32
这两个有什么分别?
char s;
char *p;
scanf("%s",s);
p=s;
_______________
char s;
char *p;
scanf("%s",s);
p=&s;

char s;
char *p;
scanf("%s",s); /*scanf()涵数要的是变量的地址,该句应该改为
scanf("%s",&s); */
p=s; /* p是指针,被付(得到)的必须是地址,应该改为p=&s ,第二个 程序这儿才是对的*/

你这个程序挺奇怪的
s明明是定义成字符的,怎么输入时不用%c而用输入字符串的形式%s
这样虽然编译不会出错,但是运行时会出错哦
如果输入用%c的话,应该是p=%s