blsn.net
当前位置:首页 >> C语言编程输入时为什么一维数组要加地址符,字符数... >>

C语言编程输入时为什么一维数组要加地址符,字符数...

在C语言中,数组的名字本身就是一个指针即为起始地址,字符数组也是一样的。比如 int a[2] = {1,2};int *p = a; //a本身就是一个指针,它表示数组的起始地址。char str[20] = "hello";char *pstr = str; //str本身就是一个指针,它表示数组的起...

int a[10]; char b[10]; 其中a的类型是const int * 常量整形指针 其中b的类型是const char *常量字符指针,二者都是指针。 我猜想你的疑惑在于:scanf("%d", &a[0]); scanf("%s", b); 这是对于scanf的实现问题了,对于%s输入的是字符串,是一串...

不需要啊 数组名就代表数组的首地址埃

因为你是按%s 字符串的格式输出的, 它一个接一个挨着输出, 直到遇见'\0'才中止

在VC中name和&name是一样的,都可以做右值表示数组的首地址,scanf("%s",&name)和scanf("%s",name)一样,不过不知道C标准中是怎样规定的,有可能在别的编译器中&name不允许。VC经常会在某些细节上不遵守C标准,你懂的。

#include #include const int MAXSIZE = 10;const int MAXLEN = 50;void mysort(char s[][MAXLEN],int n) {int i,j,k;char tmp[MAXLEN];for(i = 0; i < n; ++i) {k = i;for(j = i + 1; j < n; ++j) {if(strcmp(s[k],s[j]) > 0) k = j;}if(i != k...

#include "stdio.h" #include "string.h" void main() { char str[500]; int i; printf("请输入字符串:\n"); gets(str); for(i=0;i='0'&&str[i]

在初始化的时候,会在字符串后面z自动加上'\0',在运算的时候for(m=0;m

#include int main() { char buf[100] = {0}; int num = 0, i = 0; scanf("%s", buf); while(buf[i] != '\0') { if(buf[i] == 'A') num++; i++; } printf("the num of 'A' is %d\n", num); return 0; } scanf读入键盘输入的字符串,遍历字符串,...

#include#includeint main(){char res[10],tem[100],maxc;//res[10]用来存储最终结果,maxc是每个输入的字符串中的最大值int n=10,i,leg,j=0;//leg是每个输入的字符串的长度,j用来当做res数组的下标while(n!=0){gets(tem);leg=strlen(tem);maxc...

网站首页 | 网站地图
All rights reserved Powered by www.blsn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com