#include<stdio.h> int main() { char str[20]; char*p=str; printf("input string:\n"); scanf("%s",p);
刚学c语言谁能告诉我,为什吗第二个和第四个printf中的(P)不带*这个符号,p不是个指针地址吗???谢谢详细点啊感激不尽!!!!!
char *p=str//是指定义一个字符指针,然后指向str[20]数组的首地址,和知简猛隐它可以表示成
//char *p;p=str;
而scanf函数需要唤裤的是存放字符串的首地址,当然就用指针p就好了啊
因为p是指针,也就是地址,而scanf函数的第二个参数就是一个地址,所以p不加*
Scanf语句内部的p所表示的是%s的参数,参数不能变为p变量
r,int m,int n)
{
int count=1;
int i=0;
char str1[10];
for(i=0;i<=strlen(str);i++)
{
if(count<m)
{
str1[i]=str[i];
count++;
}
}
}
相关内容
- #include<stdio.h> #include<math.h> void main() {float a,b,c,d; float x0,x1,x2,x3,x4,x5,x6; scanf("%f
- #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct LNode { int data; struct LNo
- #include <stdio.h> int main(void) { int a[][3] = {1,2,3,4,5,6}; int (*ptr)[3] = a;
- #include<stdio.h> void main() { int i,low=0,high=5,t,temp,k; int a[6]={8,7,5,6,4,1}; printf("origin
- #include<stdio.h> main() { int a=0,b=0,c=0,d=0; if(a=1),b=1;c=2; else d=3; p
- #include<stdio.h> int main() { char str[20]; char*p=str; printf("input string:\n"); scanf("%s",p);
- #include <stdio.h>void main(){ char shape[8];char a,b;int i,j;
- #include<iostream> using namespace std;什么意思。。。。。