我尝试编写一个函数将字符串转换为 int
:
int convert(char *str, int *n){
int i;
if (str == NULL) return 0;
for (i = 0; i < strlen(str); i++)
if ((isdigit(*(str+i))) == 0) return 0;
*n = *str;
return 1;
}
那么我的代码有什么问题吗?
最佳答案
*n = *str
表示:
将n
指向的4字节内存设置为str
指向的1字节内存。这完全没问题,但这可能不是您的本意。
为什么你首先要尝试将 char* 转换为 int* ?如果您实际上只需要进行转换并使编译器满意,您可以执行 int *foo = (int*)bar
,其中 bar
是 char *
.
抱歉,我没有资格对此发表评论。
关于c - 在C中将字符串解析为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50542872/