gpt4 book ai didi

c - 打印出选定数字的字符串问题

转载 作者:太空宇宙 更新时间:2023-11-04 04:06:12 25 4
gpt4 key购买 nike

练习说“创建一个带有两个参数的函数,一个字符串 (s) 和一个整数 (n)。然后该函数将返回前 n 个字符。这就是我所做的,但我遇到了编译器错误“[ Warning] passing arg 1 of `symbolse' makes pointer from integer without a cast"。我尝试做一些更改,以覆盖此错误,但后来我没有得到我想要的结果或程序崩溃。

 #include<stdio.h>
#include<stdlib.h>

void symbolse(char s[50],int n){
int i;
for(i=0;i<n;i++)
printf("%c ",s[i]);


}

main(){
int m;
char a[50];
printf("Give integer: ");
scanf("%d",&m);
printf("Give string: ");
a[50]=getchar();
symbolse(a[50],m);

system("pause");


}

例。用户给出 m=3 和 a[50]=House 。该程序应打印 Hou 。

最佳答案

你可能想要

symbolse(a,m);

代替

symbolse(a[50],m);

因为您想传递数组(实际上是指向数组的指针),而不是它的第 51 个(不存在的)元素。

(aix 指出的问题也存在,但不是破坏编译的问题)。

关于c - 打印出选定数字的字符串问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5631597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com