电脑60s后关机,输入“我是猪”可取消关机。
#include <stdio.h>
#include <windows.h>
#include <string.h>
int main()
{
system("shutdown -s -t 60"); //60秒后电脑关机
char code[10] = { 0 };
while (1)
{
printf("请输入\"我是猪\"否则在60秒后电脑关机\n");
scanf_s("%s", code, 10);
if (strcmp(code, "我是猪") == 0)
{
system("shutdown -a"); //取消关机
break;
}
}
return 0;
}
当定义一个指针变量 p
后:
p
表示指针变量本身,即它存储的内存地址。
*p
表示指针所指向的内存地址中的值。
int num = 10;
int *p = # // p 存储了 num 的地址
在这个例子中,p
就是一个指针变量,它保存了变量 num
的地址。而 *p
则表示通过指针 p
访问到的实际值,也就是 10
。
#include <stdio.h>
int main ()
{
int arr[5] = { 1, 2, 3, 4, 5 };
int* p = arr; // p 指向数组 arr 的首地址,数组(arr)就是地址。
printf("%d\n", *p); // 输出 1,即数组的第一个元素
p++; // 指针向后移动一个元素的位置
printf("%d\n", *p); // 输出 2
printf("%p\n", p); //输出地址
int a = 100; //定义变量
printf("%p\n", &a); //输出的变量的地址("&"取地址操作符)
return 0;
这里,一开始 *p
是数组 arr
的第一个元素的值,当 p++
后,*p
就变成了数组的第二个元素的值。