C语言:指针变量的初始化可以从键盘输入一个数,即int *ps; scanf("%d", ps);这句话为什么错?

Python013

C语言:指针变量的初始化可以从键盘输入一个数,即int *ps; scanf("%d", ps);这句话为什么错?,第1张

首先这句话是错的,原因是如题中的语句

scanf("%d", ps)表示的是从键盘输入一个整数,这个整数存放到ps所指向的内存空间,这里并不是要给ps本身进行初始化

此语句之前如果ps没有初始化,那执行此语句程序可能会崩溃,所以指针使用前一定要记得先初始化。

如果想要靠输入给指针初始化,那对应语句应该是scanf("%d", &ps)不过这样做实际没啥意义,这样做也挺危险。如果后面用这个指针往里面写内容可能会程序崩溃,甚至你的系统会崩溃。

首先char *ps,声明了ps是一个char型的指针;

char st[20],声明了一个20个字符的char型数组,数组首地址为st

ps = st; 将ps指向st,所以其实y也可以用ps表示st数组,及ps[1]就是st[1]。

scanf ... 输入了一个字符串,存在了ps[20]中(其实也是st[20])

ps[i] != '\0' 判断字符数组中的字符是否为‘\0’字符串结束标志。

你是想问学计算机C语言ps专业可不可以用苹果笔记本电脑吗?是可以用的。

用苹果笔记本电脑会增加你学习上的难度。

苹果电脑的系统是独立开发的,操作方法与微软的系统不同。而教学用的是用微软系统。