【发布时间】:2015-10-25 13:10:30
【问题描述】:
我得到了这个代码:
char a[151];
scanf ("%150s", a);
a 中可能是一个数字,如果是,我需要确定是否为 a < INT_MAX。我不知道该怎么做,因为在a char 的每个索引中可能是一个数字,这意味着如果我将一个值存储到某个 int 或其他任何内容中,这可能会导致溢出的 150 位数字。有什么建议吗?
【问题讨论】:
-
可能使用
int *并为其分配内存,但可能内存分配过多。 -
char a[150];->char a[151];. -
为什么不是[150]?第一个字符的索引为 0 还是我错了?
-
您要存储
150数字号码并使用%s,您需要为null character留出空间。 -
0 to 149是150地点。那么你就没有150th 索引了。这就是为什么用151元素声明的原因。
标签: c