- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 C 编程新手。我正在编写一个程序,通过表示数组中的整数来实现大整数加法。我将 printf 放在主程序中的任何地方,并发现 strrev 部分是导致问题的原因(我只将错误的部分放在这里,显然不是主程序。但我无法弄清楚出了什么问题。任何人都可以帮忙吗?我也一样吗?
下面的代码-
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct integer
{
char store[200];
int length;
};
void printer2(struct integer x1);
int main()
{
struct integer x1;
x1.store[0]=1;
x1.store[1]=2;
x1.store[2]=3;
x1.store[3]=4;
x1.store[4]=5;
x1.length=5;
printer2(x1);
strrev(x1.store);
printer2(x1);
return 0;
}
void printer2(struct integer a1)
{
int j;
for (j=0;j<a1.length;j++)
{
printf("a1 %d is %d\n",j,a1.store[j]);
}
};
最佳答案
C 字符串是一个以 nul ('\0'\
) 元素结尾的 char
数组。您的数组中缺少此终止符,因此 strrev
将继续读取,直到找到第一个零字节。或者你的程序崩溃了。
如果要将数组视为字符串,则需要为其添加 nul 终止符
x1.store[5]='\0';
正如 Jongware 所指出的,请注意,如果您想将任何数组元素设置为 0
,这种方法将会失败 - 这些元素会被错误地解释为 nul 终止符。如果您要打印出字符,您可能需要整数的字符代码 - '0'
、'1'
等。
顺便说一句,请注意函数如下
void printer2(struct integer a1)
传递了a1
的完整副本。如果这不是故意的,您可以考虑传递调用者实例的地址
void printer2(const struct integer* a1)
使用地址运算符&
调用
printer2(&x1);
关于c - Strrev 在 C 语言中行为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18033916/
我想在 scilab 中绘制 limacon,我有这个方程需要处理: 我知道r>0和l>0 当我编译以下代码时,我在第 5 行收到此错误: Inconsistent row/column dimens
我试图更好地了解行和行集在 PeopleCode 中的用途?我读完了PeopleBooks,但仍然觉得我没有很好的理解。我希望对这些与应用程序引擎程序相关的内容有更多的了解。也许通过一个例子可能会有所
我有 4 列的行,每列都有一个标题和一些文本。大多数列都有相似数量的文本,将其列中的按钮向下按以匹配其余列。但是,一列的文本较少,并且没有将按钮向下推得足够远。 有没有办法将按钮对齐到行的底部?我想实
我有这个模型 summary = models.TextField() 但我只想有 4 行和 15 列。 此外,如果我这样做,我是否需要重新安装数据库。 最佳答案 TextField
我想在 iPhone 中创建 SSL 服务器套接字的客户端,但我在 iPhone 中找不到任何 API。我有带密码的有效证书文件 最佳答案 你看过OpenSSL了吗? ? 关于iphone - iPh
For Each cell In sheets(1).Range("A50:A606") For Each cell2 In sheets(2).Range("EX2:ACB2") cell2.
这是我的矩阵 [,1] [,2] M -1 -5 T 8 -4 W -3 9 Th
我有一个全局char *在运行时,重新声明为指向声明为 way 的二维数组的指针。 : char (*A)[N][M] = malloc(sizeof(char[BUF_16][N][M])); 然后
我是一名优秀的程序员,十分优秀!