c - 将变量数加 1
问题描述
我有代码,其中有大量字符都被声明为比另一个高 1。例如 m1、m2、m3...
有什么方法可以在 for 循环中将我正在搜索的数字增加 1?我有一长串字母,我需要检查它们是否与个人匹配,但由于情况限制,我不能使用字符串。
a1 是我正在寻找的特定字符,m1 是我必须作为个人存储的一长串字符中的第一个
我的尝试不会运行:
for (a1 != m["%d"], &check, check++)
不幸的是,由于我的应用程序的限制,我只能在我的解决方案中使用 stdio.h 和 stdlib.h。任何帮助将不胜感激
解决方案
变量名由编译器使用,但不是生成的可执行文件的一部分,因此在运行时无法访问。您可以通过使用各个变量的地址初始化的数组来模拟类似的东西:
#include <stdio.h>
int main() {
int a0=0,a1=10,a2=15;
int *a[3] = { &a0, &a1, &a2 };
for (int i=0; i<3; i++) {
int val = *(a[i]);
printf("a%d:%d\n",i,val);
}
}
输出:
a0:0
a1:10
a2:15
推荐阅读
- gis - ArcGIS:从坐标数组创建要素
- angularjs - 在angularjs中找不到函数变量名
- jmeter - 单击“运行”按钮后,Jmeter 脚本未立即启动
- python - 如何以可编程方式获取 ArchLinux 中 AUR 提供的所有包的元数据?
- html - XSLT - 当前节点等于前一个节点时删除节点
- android - 通知未显示在具有 api 24 的设备上,但显示在具有 api 26 的设备上
- php - 如何将此 mysqli_fetch_array 代码转换为 codeigniter
- c# - 如何在 Windows 服务中使用 SignalR 作为客户端?(文件未找到异常:在 Microsoft.AspNet.SignalR.Client.Http.DefaultHttpClient.Initialize)
- hive - 在 hive 中为直方图创建范围箱
- css - 如何在 css 伪元素(::before)中使用 Material.io 概述的图标?